- •Лабораторная работа №1 Концептуальная модель базы данных для железнодорожного вокзала
- •1.Анализ предметной области:
- •2.Разработка модели “сущность-связь” предметной области.
- •Лабораторная работа №2 Изучение основ реляционной алгебры Цель занятия
- •1.Для отношения b:
- •Лабораторная работа №4
- •Лабораторная работа №5 построение простейших запросов на выборку информации
- •Лабораторная работа №6 использование группировки и упорядочения данных
- •Лабораторная работа №7 запросы по удалению, изменению и добавлению данных
- •Лабораторная работа №8 Построение сложных запросов, запросов на соединение и объединение информации
- •Лабораторная работа №9 эллементы оптимизации запросов
Лабораторная работа №5 построение простейших запросов на выборку информации
Цель занятия
Изучение средств языка SQLпо созданию запросов на выборку информации. Практическая реализация простейших запросов-выборок.
Постановка задачи
В соответствии с индивидуальным вариантом реализовать на языке SQL не ме-нее восьми различных запросов на выборку информации для базы данных, разрабо-танной в рамках практического занятия №4. Совокупность запросов обязательно должна содержать следующие конструкции SQL:
алогические операции;
бключевое словоDISTINCT;
впредикатBETWEEN;
гпредикатLIKE;
дпредикатIN.
Ход работы
Запрос, который выводит полную информацию о всех железнодорожных вокзалах:
SELECT *
FROM [Железнодорожный вокзал];
Запрос, который показывает фамилию, имя и контактный телефон машинистов в возрасте от 25 до 40 лет:
SELECT Фамилия,
Имя,
[Контактный телефон]
FROM Сотрудник
WHERE (Должность="Машинист") and
([Дата рождения] BETWEEN #01/01/1968# and #12/31/1983#);
Запрос, который показывает фамилию и имя пассажиров серия паспорта которых начинается на «28» или «29» купивших билет 24 сентября 2000 года:
SELECT Фамилия,
Имя
FROM Пассажир
WHERE ([№ и серия паспорта] Like "######*28##*") Or
([№ и серия паспорта] Like "######*29##*") And
([Дата покупки билета]=#9/24/2000#);
Запрос, который показывает должности, оклад которых не меньше 5000:
SELECT Должность
FROM [Справочник окладов]
WHERE Оклад >= 5000;
Запрос, который показывает всю информацию о маршрутах движения поездов 19октября 2008 года отправляющихся с 3ей платформы:
SELECT *
FROM [Маршрут движения]
WHERE ([Дата отправления] = #10/19/2008#) and
([№ платформы] = 3);
Запрос, который показывает всю информацию о пассажирах купивших билеты 10 октября 2008 года или 15 октября 2008 года:
SELECT *
FROM Пассажир
WHERE [Дата покупки билета] IN (#10/10/2008#,#10/15/2008#);
Запрос, который показывает название и адрес вокзала с телефоном начинающимся на «7» и фамилией директора на «И» или «П»:
SELECT [Полное название вокзала],
Адрес
FROM [Железнодорожный вокзал]
WHERE (Телефон Like "7*") And
(Директор Like "И*") Or
(Директор Like "П*");
Запрос, который показывает всю информацию о мужчинах чьё имя начинается на «С»:
SELECT *
FROM Сотрудник
WHERE (Отчество LIKE "*вич") and
(Имя LIKE "С*");
Лабораторная работа №6 использование группировки и упорядочения данных
Цель занятия
Изучение возможностей языка SQL для создания параметрических запросов-выборок, а также запросов с использованием группировки и упорядочения информации. Практическая реализация соответствующих запросов.
Постановка задачи
В соответствии с индивидуальным вариантом создать с помощью языка SQL не менее шести различных запросов для базы данных, разработанной в рамках практи-ческого занятия №4. Совокупность запросов должна содержать:
апараметрические запросы;
бзапросы, использующие группировку данных;
взапросы, осуществляющие различные способы упорядочения данных.
Ход работы
Запрос, который показывает фамилию, имя и контактный телефон сотрудников занимающих должность введенную с клавиатуры:
SELECT Фамилия, имя, [Контактный телефон]
FROM Сотрудник
WHERE Должность=[Введите должность]
ORDER BY Фамилия;
Запрос, который по введенным с клавиатуры названию маршрута и дате маршрута показывает полную информацию об этом маршруте:
SELECT *
FROM [Маршрут движения]
WHERE [Название маршрута]=[введите название маршрута] AND [Дата отправления]=[введите дата отправления];
Запрос, который показывает самого старого сотрудника по каждой должности:
SELECT MIN([дата рождения]) AS [МАХ возраст], должность
FROM Сотрудник
GROUP BY Должность;
Запрос, который тройку пассажиров купивших билет последними:
SELECT TOP 3 [Личный №], имя, фамилия, [Дата покупки билета]
FROM Пассажир
ORDER BY [Дата покупки билета];
Запрос, который показывает среднюю цену билетов для всех вокзалов в алфавитном порядке:
SELECT [Полное название вокзала],
AVG([стоимость билета]) AS [средняя стоимость биллета]
FROM [маршрут движения]
GROUP BY [Полное название вокзала]
ORDER BY [Полное название вокзала];
Запрос, который название, адрес и телефон вокзала директор которого вводится с клавиатуры:
SELECT [Полное название вокзала], адрес, телефон
FROM [Железнодорожный вокзал]
WHERE Директор=[введите директора];