Лабораторная работа №4.2 Создание Запросов
Запросы являются инструментом поиска и структурирования данных. Запрос, адресованный одной или нескольким таблицам, инициирует выборку определенной части данных и их передачу в таблицу, формируемую самим запросом. В результате вы получаете подмножество информационного множества исходных таблиц, сформированное по определенному закону. Если обрабатываемый объем информации велик, выделение необходимых данных в такое подмножество позволяет существенно сократить время их обработки. В системах типа клиент-сервер, где основные базы данных хранятся на файловом сервере, система запросов позволяет уменьшить объем информации, передаваемой через локальную сеть.
Запрос это совокупность критериев поиска, представленная на одном из языков СУБД и предназначенная для выборки нужных пользователю данных из некоторого набора.
Основные виды запросов следующие:
¾ простой запрос;
¾ запрос на выборку;
¾ запрос на действие (обновление, добавление, удаление).
Простой запрос позволяет выбирать нужную совокупность полей из таблицы. Он легко и быстро создается вручную с использованием некоторых элементов МАСТЕРА ЗАПРОСОВ. С точки зрения реляционной алгебры при простом запросе выполняется операция проецuрованuя на свои указанные атрибуты (поля таблицы).
Запрос па выборку ¾ основной вид запросов, который создается при помощи КОНСТРУКТОРА ЗАПРОСОВ на языке формирования запросов по образцу QBE, упоминавшемся выше. С точки зрения реляционной алгебры при этом выполняется операция выборки из отношения тех кортежей (записей таблицы), которые удовлетворяют заданному предикату.
Запрос па действие базируется на запросе на выборку. Процесс формирования этого запроса распадается на два этапа: сначала осуществляется запрос на выборку, а затем подключаются средства
СУБД, позволяющие пользователю осуществить одно из трех требуемых действий: обновление, добавление или удаление указанных пользователем данных. С точки зрения реляционной алгебры в этом случае осуществляются различные унарные и бинарные операции над отношениями (объединение, пересечение, вычитание, декартово произведение, соединение, деление), а также их комбинации. Высококвалифицированные пользователи имеют возможность при желании создавать запросы на языке структурированных запросов SQL (Structured Query Language).
Порядок выполнения
2.1. Мастер запросов
Чтобы упростить задачу пользователя, в состав Access включен мастер запросов, позволяющий автоматизировать процесс построения запроса.
2.1.1. Переходим на закладку «Создание» и нажимаем кнопку
2.1.2. Выбираем «Простой запрос» и нажимаем OK.
2.1.3. В раскрывающемся списке «Таблицы и запросы» выбираем таблицу «Контакты», из списка «Доступные поля» выбираем: Фамилия, Имя и Телефон. Затем из таблицы «Книги» выбираем: Название и Автор; а из таблицы «Записи» - Дата выдачи. И нажимаем «Далее».
2.1.4. Выбираем подробный отчет и нажимаем «Далее», установив (подробный).
2.1.5. Вводим имя запроса, ставим переключатель на «Открыть запрос для просмотра данных» и нажимаем «Готово».
2.1.6. В результате получаем таблицу:
Рис.2.1. Таблица запроса
2.2. Конструктор запросов
Мастер запросов умеет конструировать только простые условия отбора. Чтобы наложить дополнительные ограничения, следует пользоваться конструктором запросов, обеспечивающим полное управление параметрами запроса и построение сложных условий отбора данных.
2.2.1. Переходим на закладку «Создание» и нажимаем кнопку КОНСТРУКТОР ЗАПРОСОВ
2.2.2. Добавляем все три таблицы и закрываем окно.
2.2.3. Из раскрывающегося списка выбираем таблицы и поля для отображения в запросе.
Рис.2.2. Окно конструктора запроса
2.3. Условие отбора
Добавление в запрос условия отбора позволяет выбирать из таблицы не все записи, а лишь те, которые удовлетворяют определенным критериям. Например, нам нужны записи, приходящиеся на февраль 2007 года.
2.3.1. В бланке запроса щелкаем на ячейке Условие отбора пятого столбца правой кнопкой мыши и выбираем в контекстном меню команду «Построить». Откроется окно построителя выражений.
Рис.2.3. Окно построителя выражений
2.3.2. В левом списке построителя щелкаем на папке Операторы.
2.3.3. В среднем списке выбираем категорию Сравнения.
2.3.4. В правом списке дважды щелкаем на пункте Between.
2.3.5. Щелчком выделяем в поле формулы первый местозаполнитель «Выражение».
2.3.6. В левом списке построителя выражений двойным щелчком открываем папку Функции.
2.3.7. Щелкаем на папке Встроенные функции, содержащей стандартные функции Access.
2.3.8. В среднем списке построителя выражений щелкаем на пункте Дата/время.
2.3.9. В правом списке дважды щелкаем на функции DateValue, чтобы заменить ею местозаполнитель «Выражение».
2.3.10. Выделив местозаполнитель «stringexpr», вводим текст «01.02.2007».
2.3.11. Повторяя шаги 2.3.5 – 3.3.10 , заменяем второй местозаполнитель «Выражение» на выражение DateValue («31.02.2007»).
В результате у нас получилась формула Between DateValue(«01.02.2007») And DateValue(«31.02.2007»). Она проверяет условие нахождения даты в интервале от 1 до 31 февраля 2007 г
2.3.12. Нажимаем па кнопке ОК.
2.3.13. Для выполнения запроса нажимаем
2.4. Запрос действия
Запросы могут применяться также для добавления, удаления и обновления группы записей таблицы. Такие запросы являются мощным инструментом преобразования данных, они называются запросами действия. К примеру, нам нужно изменить в таблице «Книги» номер по картотеке. Заменить первую цифру – 4 на 6. Подобную операцию трудно провести «вручную», если в таблице больше тысячи записей.
2.4.1. Создаем новый запрос в режиме конструктора.
2.4.2. В окне конструктора открываем таблицу «Книги».
2.4.3. В значение поле выбираем «Номер по картотеке».
Рис.2.4. Окно конструктора запроса
2.4.4. В поле «Тип запроса» выбираем запрос на обновление, при этом в бланке запроса появиться еще одно поле – обновление, в которое нужно ввести новое значение поля.
2.4.5. В поле «Обновление» вызываем контекстное меню, щелкаем на пункте «Построить»
2.4.6. В окне построителя выражений пишем формулу:
Рис.2.5. Окно построителя выражений
2.4.7. В поле «Условие отбора» вызываем контекстное меню, щелкаем на пункте «Построить»
2.4.8. В окне построителя выражений пишем формулу:
Рис.2.6. Окно построителя выражений
2.4.9. Закрываем запрос, сохранив под именем «Обновление».
2.4.10. Двойным кликом выполняем запрос «Обновление», Access проинформирует об обнаружении одной записи, удовлетворяющей условию отбора, и попросит подтвердить необходимость ее изменения.
2.5. Запрос SQL
Язык SQL является наиболее распространенным языком управления баз данных клиент – серверов. Это язык реляционных баз данных, а не язык систем программирования. В Microsoft Access используется язык Jet SQL.
2.5.1. Создаем новый запрос в режиме конструктора.
2.5.2. Переходим в режим SQL.
2.5.3. В открывшемся окне пишется запрос на языке SQL.
Рис 2.7. Окно запроса SQL.
2.5.4. Напишем запрос на добавление новой записи в таблицу «Книги»:
INSERT INTO Книги (Название, автор, издательство, Год_издания, Номер_по_картотеке )
VALUES ('Му-Му', 'Тургенев', 'Роспечать', "2007", "845623");
2.5.5. Нажимаем кнопку , появится окно подтверждения добавления новой записи, нажимаем ОК.
Дата добавления: 2015-10-26; просмотров: 1048;