Упражнение 6.4.6. Групповые операции в многотабличном запросе




Произведем анализ полученных студентами оценок по различным предметам. Например, подсчитаем число оценок (2,3,4,5) по каждому из предметов.

1. Для формирования сведений об оценках, полученных студентами по различным предметам создайте многотабличный запрос на выборку на основе таблиц СТУДЕНТ, УСПЕВАЕМОТЬ, ПРЕДМЕТ, в бланк запроса включите поля НП, ОЦЕНКА, ФИО студента.

2. Основу образования записей этого запроса составляет таблица УСПЕВАЕМОСТЬ, а расшифровывающие данные выбираются из таблиц: ПРЕДМЕТ и СТУДЕНТ. Таким образом, каждая строка результата будет содержать информацию об оценке студента по указанному в строке предмету.

3. Для группировке записей с одинаковым наименованием предмета и оценкой, а также подсчета числа записей в группе нажмите кнопку Групповые операции и в соответствующей строке в полях НП и ОЦЕНКА оставьте значение группировка, а в поле ФИО выберите значение Count. В результате схема данных и бланк запроса должен принять вид, показанный на рис.6.4.5.

Рис. 6.4.5. Многотабличный запрос с групповой операцией

4. Сохраните запрос под имеем – Количество оценок по каждому предмету.

 

Построение запросов на основе других запросов

На практике редко удается решить задачу с использованием единственного запроса. Более сложные задачи требуют последовательного выполнения нескольких запросов. Каждый из запросов имеет свои Входные и выходные данные. В простейшем случае выходные данные предшествующего запроса являются входными для следующего, построенного на нем, запроса и, выполнив только последний запрос в цепочке построенных друг на друге запросов, вы инициируете последовательное выполнение всех запросов цепочки и полное решение задачи. Используя такой подход, можно решать достаточно сложные задачи, не прибегая к программированию.

 

Упражнение 6.4.7. Решение задачи, требующей выполнение нескольких запросов

Пусть необходимо определить среднюю нагрузку преподавателя кафедры в текущем семестре. Для этого нужно подсчитать число преподавателей кафедры, затем общее количество часов занятий, проводимых кафедрой, и завершить решение задачи расчетом средней нагрузки преподавателя.

Первый запрос

Создайте запрос на выборку, в котором по таблице ПРЕПОДОВАТЕЛЬ с помощью функции Count подсчитывается число преподавателей на каждой кафедре. Сохраните запрос под именем Число преподавателей кафедры ( рис. 6.4.6.).

Рис. 6.4.6. Запрос с групповой операцией по полю ККАФ

Второй запрос

Для подсчета общего числа часов занятий, проводимых каждой кафедрой, создайте запрос на выборку на базе таблиц ПРЕПОДОВАТЕЛЬ, ИЗУЧЕНИЕ. (рис.6.4.7.) Таблица ИЗУЧЕНИЕ нужна для суммирования числа часов занятий, проводимых преподавателями каждой кафедры. Поскольку эта таблица не содержит кода кафедры, к которой относится тот или иной преподаватель, необходимо добавить в запрос таблицу ПРЕПОДОВАТЕЛЬ, определяющую, на какой кафедре работает преподаватель. Сохраните запрос под именем Часы_кафедры.

Рис. 6.4.7. Запрос для подсчета общего числа часов занятий, проводимых каждой кафедрой

Третий запрос

1. Для окончания решения задачи расчета средней нагрузки преподавателя кафедры подготовьте на базе двух предыдущих запросов третий запрос на выборку с вычисляемым полем. Для создания вычисляемого поля, рассчитывающего среднюю нагрузку преподавателя, в строку Поле пустого столбца введите выражение [Sum_ЧАСЫ]/[Count_ТАБН]. Третий запрос на выборку представлен на рис.6.4.8.

Рис.6.4.8. Запрос, завершающий задачу расчета средней нагрузки

2. Для изменения в таблице результата подписи Выражение 1, формируемой по умолчанию для вычисляемого поля, и её формата (для получения результата с округлением до целого) выделите столбец этого поля в бланке запроса и вызовите через контекстно-зависимое меню свойства.

3. Задайте в Подпись поля значение Средняя нагрузка преподавателя, в Ф ормат поля - Фиксированный и Число десятичных знаков -0.

4. Сохраните запрос под именем Нагрузка на кафедрах.

5. Выполните запрос.

Запросы – действия

Теперь рассмотрим запросы – действия, которые позволят быстро изменить, создать, удалить и добавить в таблицу базы.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: