Добавил:
t.me Инфо для ГУАП студентов от меня: https://kafaka.notion.site/99e6d9b70ca74f7baef3daea17839e5a Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чурилов / Z9411_Чурилов_инф_системы_лаб_3.docx
Скачиваний:
2
Добавлен:
14.10.2024
Размер:
439.58 Кб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ

Кафедра проблемно-ориентированных вычислительных комплексов

ОЦЕНКА

ПРЕПОДАВАТЕЛЬ

кандидат техн. наук

С. Г. Толмачев

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ЛАБОРАТОРНАЯ РАБОТА №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 – Выборка по шестому запросу