1. Сформируйте запрос по таблице Клиенты, отражающий все поля таблицы наиболее рациональным способом, сохраните запрос под именем Клиенты1.
2. Сформируйте запрос, запрашивающий вид транспорта и отражающий стоимость путевки. Сохраните под именем Цена путевки.
3. Сформируйте запрос, запрашивающий пол сотрудника и отражающий табельный номер и дату рождения. Сохраните под именем Дата рождения.
4. Сформируйте запрос, отражающий информацию о наименовании маршрута, количестве путевок, дате начала маршрута. Сохраните под именем Количество путевок.
5. Сформируйте перекрестный запрос, по строкам отражающий наимено-вание маршрута, по столбцам – вид транспорта, в качестве числовых данных отражающий длительность маршрута в днях с указанием максимальной. Сохраните под именем Максимальный срок маршрута.
Лабораторная работа 6
Вычисления в запросах
В СУБД Access возможно производить различные расчеты. Для этого создаются вычисляемые поля, которые записываются в квадратных скобках. Кроме этого имеются различные встроенные функции, в том числе статистические:
Sum - сумма значений некоторого поля по группе
AVG – среднее от всех значений поля в группе
Count – число значений поля в группе без учета пустых значений
и другие.
Задание 6
1. Сформируйте многотабличный запрос, включающий в себя следующие поля: Наименование клиента, Код маршрута, Наименование маршрута, Количество приобретенных путевок, Цена за одну путевку, Выручка. Для этого необходимо выполнить следующие действия:
- нажмите кнопку Конструктор запросов (вкладка Создание группа Другие);
- в окне Добавление таблиц добавьте таблицы Клиенты, Сотрудники, Услуги и закройте окно;
- в бланке запроса отобразите поля:
- из таблицы Сотрудники: Табельный номер,
- из таблицы Клиенты: Наименование клиента, Количество приобретенных путевок,
- из таблицы Услуги: Код маршрута, Наименование маршрута;
-поле Выручка является вычисляемым и требует ввода выражения:
Выручка:[Количество приобретенных путевок]*[Цена за одну путевку];
- после выполнения всех действий бланк запроса должен иметь вид:
- запустите запрос на выполнение и сохраните под именем Выручка.
2. Сформируйте запрос, показывающий разницу между имеющимися и приобретенными путевками. Для этого:
- вызовите Конструктор запросов;
- в бланк запроса добавьте таблицы Клиенты, Сотрудники, Услуги;
- с помощью ЛКМ перенесите поля:
из таблицы Сотрудники: Табельный номер, Фамилия;
из таблицы Клиенты: Количество приобретенных путевок;
из таблицы Услуги: Количество путевок;
- поле Остаток является вычисляемым и требует ввода выражения, для этого воспользуемся Построителем выражений;
- в контекстном меню (щелкните правой клавишей мыши в текущей ячейке бланка) выберите команду Построить;
- воткрывшемся окне Построитель выражений введите следующее выражение, выбирая поля из таблиц. Имя поля Остаток задайте с клавиатуры.
Выражение примет вид:
Остаток:[Услуги]![Количество путевок]-[Клиенты]![Количество приобретенных путевок]
- запустите запрос на выполнение и сохраните под именем Остаток путевок.
3. Определите общее количество проданных путевок каждым сотрудником:
- в режиме Конструктора запросов добавьте таблицы Сотрудники и Клиенты;
- отберите поля Фамилия и Количество приобретенных путевок;
- выполните команду Итоги (вкладка Конструктор группа Показать или скрыть);
- в качестве функции группировки по полю Количество приобретенных путевок выберите Sum (суммирование).
Бланк запроса примет вид:
- запустите запрос на выполнение и сохраните под именем Результат работы.
4. Определите количество клиентов в зависимости от вида транспорта:
- в режиме Конструктора запросов добавьте в бланк таблицу Услуги;
- отберите поля Код маршрута и Вид транспорта;
- выполните команду Итоги;
- в качестве функции группировки по полю Код маршрута выберите Count
(Количество).
Бланк запроса примет вид:
- запустите запрос на выполнение, сохраните под именем Транспорт.
5. Определите среднюю продолжительность тура по каждому сотруднику фирмы:
- в режиме Конструктора запросов добавьте таблицы Сотрудники и Услуги;
-отберите в бланк запроса поля Фамилия и Длительность в днях;
- выполните команду Итоги;
- в качестве функции группировки по полю Длительность в днях выберите Avg (среднее арифметическое).
Бланк запроса примет вид:
- запустите запрос на выполнение, сохраните под именем Средняя продолжительность путешествий.
6. Определите количество клиентов по каждому транспорту и сумму выручки, полученную сотрудниками фирмы:
- на вкладке Создание выберите Конструктор запросов;
- в режиме Конструктора запросов в окне Добавление таблицы перейдите на вкладку Таблицы и запросы и добавьте таблицы Сотрудники, Услуги, Выручка;
- отберите для запроса поля Табельный номер (таблица Сотрудники), Вид транспорта (таблица Услуги) и Выручка (запрос Выручка);
- выполните команду Итоги;
- в качестве функции группировки по полю Вид транспорта выберите Count,по полю Выручка - Sum.
Бланк запроса примет вид
-щелкните правой клавишей мыши по полю Вид транспорта, в контекстном меню выберите команду Свойства;
-в поле Подпись введите Количество клиентов
- запустите запрос на выполнение, сохраните его под именем Суммарная выручка.
7. Создайте запрос на обновление, производящий расчет поля Надбавка (надбавка составляет 25% от оклада):
- в режиме Конструктор добавьте в таблице Сотрудники новое поле Надбавка, установив тип и формат данных – денежный;
-сохраните внесенные изменения и закройте таблицу;
- в режиме Конструктора запросов добавьте таблицу Сотрудники;
- в бланке запроса выполните команду Обновление (вкладка Конструктор группа Тип запроса). При этом внешний вид бланка запроса изменится: строка Сортировка заменится строкой Обновление;
- из списка полей таблицы Сотрудники выберите поле Надбавка, которое будет обновляться;
- в строке Обновление введите расчетную формулу [Оклад]*0,25;
- запустите запрос на обновление кнопкой Выполнить, подтвердив выполнение запроса (кнопка Да) открывшегося диалогового окна;
- сохраните запрос под именем Надбавка;
- откройте таблицу Сотрудники и убедитесь в правильности расчетов;
- измените значение оклада Петрова на свое усмотрение. Для пересчета величины надбавки необходимо запустить запрос Надбавка на обновление. Убедитесь в правильности пересчета значений новой надбавки.