Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Топ:
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Интересное:
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Для построения запросов следует воспользоваться Конструктором запросов. Рассмотрим пример построения следующих запросов:
1. Просмотр авторов книги
2. Ввод нового автора и его книги
При выполнении первого запроса сначала создадим форму с полем для ввода исходных данных и кнопкой, нажатие на которую вызовет выполнение запроса.
Форма имеет вид, представленный на рисунке 7.

Рисунок 7. Структура формы для 1 запроса
Далее формируем сам запрос через режим Конструктора (рисунок 7).

Рисунок 8 – Конструкция запроса 1
Конструкция запроса должна содержать все используемые таблицы. Каждый столбец данных отвечает за необходимую по смыслу запроса информацию: 1 столбец (входная информация) – название книги, запрос получает эту информацию из поля «Название» формы «формаЗапроса1». Следующие два столба являются результатом запроса – это два информационных поля из таблицы «Авторы» - Фамилия и Имя. Кнопка на форме связывается с запросом и при нажатии на нее выполняется наш запрос. На рисунке 9 представлен результат работы Запроса 1.
а)

б)
Рисунок 9. Результат работы запроса1 а) Вид формы; б) Вид таблицы запроса
Не забудьте вставить в отчет вид SQL запроса. В нашем случае он выглядит следующим образом:
SELECT Книги.Название, Авторы.Фамилия, Авторы.Имя
FROM Книги INNER JOIN (Авторы INNER JOIN АвторКниги ON Авторы.КодАвтора = АвторКниги.КодАвтора) ON Книги.КодКниги = АвторКниги.КодКниги
GROUP BY Книги.Название, Авторы.Фамилия, Авторы.Имя
HAVING (((Книги.Название)=[Формы]![формаЗапроса1]![Название]));
Если первый запрос был посвящен просмотру БД по условию (поиск информации), то второй запрос – на добавление.
Снова создадим форму с 4 полями: Поле 1 – Фамилия автора, Поле 2 – Имя автора, Поле 3 - Дополнительное информационное поле, Поле 4 – Название книги. Также нам понадобятся два поля со списками для добавления Издательства и Раздела (рисунок 10).

Рис. 10. Макет Формы запроса на добавление
Для добавления новой книги с новым автором нам необходимо сделать три запроса на добавления: Запрос1 – добавить автора в таблицу «Авторы», Запрос2 – добавить название книги, а также издательство и раздел в таблицу «Книги», Запрос3 добавляет запись в таблицу-связку «АвторКниги». Рассмотрим случай, если автор один, в противном случае необходимо вызывать запрос несколько раз, используя условие окончания ввода авторов. Так как действий несколько, будем вызывать запросы по очереди, используя макросы, связанные в двумя кнопками: «Добавить» - выполнение первых двух запросов, «Сохранить» - выполнение третьего запроса и закрытие БД (сохранение внесенных изменений).
Рассмотрим структуру Запроса1 – добавление автора:
INSERT INTO Авторы (Фамилия, Имя, Примечание)
SELECT DISTINCT Формы!ФормаЗапроса2!Поле0 AS Фамилия, Формы!ФормаЗапроса2!Поле4 AS Имя, Формы!ФормаЗапроса2!Поле6 AS Примечание;
Данный запрос берет данные из полей формы (обратите внимание - обращаться надо к имени поля!!!) и формирует новую запись в таблице «Авторы» с соответствующими полями. На рис. 11 представлен запрос1 в формате конструктора.

Рис. 11 – Запрос1 в режиме конструктора
Аналогично строится запрос2 на добавление новой книги:
INSERT INTO Книги (Название, Раздел, Издательство)
SELECT DISTINCT Формы!ФормаЗапроса2!Поле8 AS Название, Формы!ФормаЗапроса2!ПолеСоСписком17 AS Раздел, Формы!ФормаЗапроса2!ПолеСоСписком21 AS Издательство;
Макрос1 будет связывать два запроса последовательно (рисунок 12).
Макрос2 будет содержать три команды – запуск запроса3 на добавление, закрытие всей БД, что приведет к сохранению изменений и закрытие самой формы запроса2 (рис. 13).
Запрос на добавление в таблицу-связку имеет следующую структуру:
INSERT INTO АвторКниги (КодКниги, КодАвтора)
SELECT Книги!КодКниги AS КодКниги, Авторы!КодАвтора AS КодАвтора
FROM Книги, Авторы
WHERE ((([Формы]![ФормаЗапроса2]![Поле0])=[Авторы]![Фамилия]) AND (([Формы]![ФормаЗапроса2]![Поле8])=[Книги]![Название]));

Рис. 12. Макрос1 в режиме конструктора

Рис. 13. Макрос2 в режиме конструктора
Как видно из текста SQL запроса добавление в таблицу АвторКниги происходит только при условии, что соответствующие данные есть как в таблице «Книги», так и в таблице «Авторы» (условие WHERE). В режиме конструктора Запрос представлен на рисунке 14.

Рис. 14 – Запрос3 в режиме конструктора
Мы рассмотрели запрос на добавление, в случае запроса на удаление необходимо перед выполнением запроса удалить связи между таблицами. Потом их восстановить (каскадно уже не получится, но связь по полю вернуть!!).
P.S. Написание запросов – задача творческая, имеет несколько вариантов исполнения, поэтому рекомендация – КОНСУЛЬТИРУЙТЕСЬ!!!
Защита практической работы
Содержание отчета
В отчете должны присутствовать следующие пункты:
1) Титульный лист
2) Задание
3) Структура БД
4) Примеры заполнения таблиц
5) Описание запросов на языке SQL.
6) Результаты работы запросов
Студент обязан предоставить отчет о проделанной работе преподавателю и защитить ее, выполнив дополнительные задания по теме занятия и ответив на вопросы.
Требования при подведении итогов текущей и промежуточной аттестаций
При сдаче работы в срок (не позднее последнего учебного дня в семестре), студент получает максимум 10 баллов. До дня проведения промежуточной аттестации студент имеет право защитить работу без баллов и получить допуск к зачету. Если работа не была защищена, студент не допускается до дифференциального зачета.
|
|
|
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
© cyberpedia.su 2017-2025 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!