Лекция по предмету: СУБД.




Тема: Построение запроса на основе другого запроса. Схема данных для многотабличного запроса об оценках студентов. Построение запроса «Количество оценок» на основании другого запроса Оценки.

Представляю вырезку из методички по данной теме.

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

 

Отсутствие работы считается равносильной отметке «н», т.е. пропуску, в журнале.

 

Методические указания:

Конструирование перекрестного запроса

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

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

Ниже рассмотрим действия пользователя при работе с перекрестным запросом в режиме конструктора на примере.

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

Для выполнения перечисленных преобразований откроем перекрестный за­прос Изучение предметов группами в режиме конструктора.

Поле НП (наименование предмета) размещено в таблице ПРЕДМЕТ, поэтому ее нужно добавить к разрабатываемому запросу. Для этого, находясь в окне конструктора, нажмем кнопку Отобразить таблицу.

Теперь схема данных запроса состоит из таблиц ПРЕДМЕТ и ИЗУЧЕНИЕ, связанных по полю КП (код предмета) отношением один-ко-многим (рис. 7.21).

Результат выполнения полученного перекрестного запроса приведен на рис. 7.22.

Заменим в бланке запроса поле КП на поле НП таблицы ПРЕДМЕТ. Для этого щелкнем правой кнопкой мыши на области отображения полей таблиц и вы­берем Имена таблиц, чтобы получить в бланке информацию о принадлежно­сти поля к таблице. Далее в поле КП в строке Имя таблицы нажмем кнопку списка и выберем поле ПРЕДМЕТ, а в строке Поле - поле НП.


Для изменения подписи поля ИТОГОВОЕ ЗНАЧЕНИЕ, содержащего сумму по строкам, щелкнем правой кнопкой мыши, находясь в зоне этого поля. В от­крывшемся контекстно-зависимом меню выберем пункт Свойства. В окне Свойства введем в строку Подпись "Всего часов". Окончательно сформиро­ванный перекрестный запрос приведен на рис. 7.21.



Для описания алгоритма задач, реализуемых одним запросом, обычно доста­точно словесного описания действий. Целесообразно также использовать функционально-технологическую схему, на которой указываются входные и выходные таблицы данных.

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

последний запрос в цепочке запросов, построенных друг на друге, вы иниции­руете последовательное выполнение всех запросов цепочки и полное решение задачи. Функционально-технологическая схема задачи, решаемой с помощью двух последовательно выполняемых запросов, в общем виде приведена на рис. 7.23.

Запросы в Access являются мощным средством решения различных задач. При этом возможно построение сложных запросов, в том числе построенных на других запросах. Ниже рассматривается построение таких запросов, а так­же реализация задачи последовательно выполняющимися запросами.

 

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

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

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

 

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

Для подсчета числа различных оценок (2,3,4,5) по каждому из предметов на основе этого запроса создадим новый запрос - Число оценок. При создании нового запроса в окне Отразить таблицу/Добавление таблицы на вкладке Запросы выберем из списка запрос оценки. Заполним бланк запроса, как по­казано на рис.7.25.


Результат выполнения запроса Число оценок приведен на рис. 7.26, где в столбце Выражение 1 отображено количество оценок, полученных по каждо­му предмету.

 

 

 
 

Замечание. Нет необходимости предварительно выполнять запрос (оценки), на основе которого выполняется другой запрос (Число оценок). Выполнение вложенного запроса инициируется системой при выполнении запроса, по­строенного на нем.

 

 

P.S. Не судите строго по вёрстке методички – это результат распознавания OCR PDF документа.



Поделиться:




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

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


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