
- •Создание сложных запросов
- •1. Реализация запроса-выборки с сортировкой.
- •2. Реализация запросов с группировкой и агрегатными функциями.
- •3. Реализация перекрестного запроса.
- •4. Реализация запроса на обновление.
- •5. Реализация запроса на добавление.
- •6. Реализация запроса на удаление.
- •Список использованной литературы
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
Кафедра проблемно-ориентированных вычислительных комплексов
ОЦЕНКА
ПРЕПОДАВАТЕЛЬ
кандидат техн. наук |
|
|
|
С. Г. Толмачев |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ЛАБОРАТОРНАЯ РАБОТА №3
Создание сложных запросов
по дисциплине «Информационные системы и технологии»
РАБОТУ ВЫПОЛНИЛА
СТУДЕНТ ГР. |
|
Z9411 |
|
|
|
А. С. Чурилов |
|
|
|
|
подпись, дата |
|
инициалы, фамилия |
Студенческий билет №2019/3684
Санкт-Петербург, 2021 г.
Цель работы.
Получение практических навыков создания запросов с группировкой, сортировкой и модификацией данных в MS Access.
Индивидуальное задание.
Требуется разработать в режиме Конструктор 10 различных сложных запросов следующих типов:
запрос – выборка с сортировкой;
запрос – с группировкой и агрегатными функциями:
Sum() - сумма значений некоторого поля для группы,
Avg() - среднее от всех значений поля в группе,
Max() – максимальное значение поля в группе,
Min() - минимальное значение поля в группе,
Count() - число значений поля в группе без учета пустых значений;
запрос – перекрестный;
запрос на обновление;
запрос на удаление;
запрос на добавление.
Важно помнить, что в запросах должны быть использованы одиночные и комбинированные условия отбора (between, and, or, is null, like, >, =, <=).
Запросы требуется формировать на основе трёх ранее созданных таблиц (Выполнение рейсов, Маршруты, Водители).
Пошаговое выполнение работы.
1. Реализация запроса-выборки с сортировкой.
Кейс 1. Пользователь хочет узнать, у кого из водителей компании рейсы завершатся уже после сегодняшней даты (пользователь обратился к базе данных 18.12.2021).
Запустим программное средство MS Access для создания многотабличной базы данных. Для дальнейшего оформления первого запроса в режиме Конструктора во вкладе Создание выберем соответствующую опцию.
|
Рисунок 1 – Активация режима Конструктор |
В режиме Конструктора запросов выберем для последующей работы таблицы Выполнение рейсов, Маршруты, Водители. Определим поля нового запроса: Код рейса, Название маршрута, Дата возвращения, Фамилия, Имя, Отчество. В качестве условия отбора укажем одиночное правило >Дата(). Для удобства просмотра получившейся выборки добавим сортировку записей в соответствии с алфавитным порядком фамилий водителей.
|
Рисунок 2 – Заполнение полей первого запроса |
После сохранения запроса выполним его, нажав соответствующую кнопку в верхнем меню программы.
|
Рисунок 3 – Выборка по первому запросу |
2. Реализация запросов с группировкой и агрегатными функциями.
Кейс 2. Пользователь хочет выяснить, какую общую сумму заработал за всё время службы каждый водитель из России.
Чтобы в режиме Конструктор создать запрос с группировкой, необходимо в верхнем меню программы активировать кнопку Групповые операции (Итоги) на панели инструментов. В конструкторе запросов автоматически будет добавлена строка Групповая операция. В полях, по которым проводят группировку, из раскрывающегося списка выбирается одна из требуемых функций: Sum(), Avg(), Max(), Min(), Count() и т. д.
|
Рисунок 4 – Подключение Групповых операций |
В режиме Конструктора запросов выберем для последующей работы таблицы Выполнение рейсов и Водители. Определим поля нового запроса: Код водителя, Фамилия, Имя, Отчество, Гражданство (скрытое поле), Сумма оплаты. В качестве условия отбора укажем интересующую нас страну гражданства («Россия»). В поле Сумма оплаты отметим агрегатную функцию Sum().
|
Рисунок 5 – Заполнение полей второго запроса |
После сохранения запроса выполним его, нажав соответствующую кнопку в верхнем меню программы.
|
Рисунок 6 – Выборка по второму запросу |
Кейс 3. Пользователь хочет определить, какого в среднем размера премия выплачивалась водителям-женщинам.
В режиме Конструктора запросов выберем для последующей работы таблицы Выполнение рейсов и Водители. Определим поля нового запроса: Код водителя, Фамилия, Имя, Отчество, Пол (скрытое поле), Премия. В качестве условия отбора укажем интересующий нас пол («Ж»). В поле Премия отметим агрегатную функцию Avg(), а также настроим сортировку по убыванию значения.
|
Рисунок 7 – Заполнение полей третьего запроса |
После сохранения запроса выполним его, нажав соответствующую кнопку в верхнем меню программы.
|
Рисунок 8 – Выборка по третьему запросу |
Кейс 4. Пользователь хочет узнать, какие 5 рейсов за первое полугодие этого года были наиболее высоко оплачены.
В режиме Конструктора запросов выберем для последующей работы таблицы Выполнение рейсов и Водители. Определим поля нового запроса: Код рейса, Код водителя, Фамилия, Имя, Отчество, Дата отправки, Сумма оплаты. Для написания условия отбора в поле Дата отправки воспользуемся Построителем выражений, где пропишем формулу: Between #01.01.2021# And #30.06.2021#. В разделе Сумма оплаты отметим агрегатную функцию Max(), а также настроим сортировку по убыванию значения.
|
Рисунок 9 – Заполнение полей четвертого запроса |
После сохранения запроса выполним его, нажав соответствующую кнопку в верхнем меню программы.
|
Рисунок 10 – Выборка по четвертому запросу |
Кейс 5. Пользователь хочет выяснить, какие самые короткие по длительности рейсы были выполнены (интересует только 25% от всего числа).
В режиме Конструктора запросов выберем для последующей работы таблицы Выполнение рейсов и Маршруты. Определим поля нового запроса: Код рейса, Код маршрута, Название, Дальность маршрута, Кол-во дней. В разделе Кол-во дней отметим агрегатную функцию Min(), а также настроим сортировку по возрастанию показателя.
|
|
Рисунок 11 – Заполнение полей пятого запроса |
|
После сохранения запроса выполним его, нажав соответствующую кнопку в верхнем меню программы.
|
|
Рисунок 12 – Выборка по пятому запросу |
|
Кейс 6. Пользователя интересует, какие маршруты наиболее популярны среди водителей.
В режиме Конструктора запросов выберем для последующей работы таблицы Выполнение рейсов и Маршруты. Определим поля нового запроса: Код маршрута (для отображения частоты выполнения рейсов по маршруту), Код маршрута (для вывода в таблице самого кода маршрута), Название. Для написания условия отбора в первом поле Код маршрута воспользуемся одиночным правилом >1. В этом же разделе отметим агрегатную функцию Count().
|
Рисунок 13 – Заполнение полей шестого запроса |
После сохранения запроса выполним его, нажав соответствующую кнопку в верхнем меню программы.
|
Рисунок 14 – Выборка по шестому запросу |