Создание и фильтрация запросов
Лабораторное занятие 4. Работа с запросами и отчетами
Для отбора информации из БД создаются специальные запросы, которые позволяют пользователю обратиться к базе данных с любым вопросом и получить на него ответ в виде виртуальной таблицы. В рамках полученного запроса можно производить обработку данных в том числе и фильтрацию. Отбор данных из БД с помощью запроса, осуществляется в соответствии с критерием, который формирует пользователь в зависимости от характера возникающего вопроса.
Задание 1. Создать запрос Оплата заказов, позволяющий вывести необходимые данные из нескольких таблиц БД. Для выполнения задания необходимо:
1. В окне БД выбрать объект Запросы. На вкладке Создание в группе Другие нажать кнопкуМастер запросов.
2. В диалоговом окне Новый запрос выбрать тип запроса (выберем наиболее простой вариант – Простой запрос) и щелкнуть кнопку ОК.
3. В списке Таблицы и Запросы выберите строку Таблица: Заказы. С помощью кнопки > выберите из списка доступных в таблице полей поля НомерЗаказа, ДатаПриема, ДатаИсполнения и Оплачено для включения их в запрос.
4. В списке «Таблицы и Запросы» выберите строку Таблица: Клиенты. С помощью кнопки > выберите из списка доступных в таблице полей поле ФИО для включения его в запрос.
5. В списке Таблицы и Запросы выберите строку Таблица: Услуги. С помощью кнопки > выберите из списка доступных в таблице полей поля Наименование и Стоимость для включения их в запрос.
6. Щелкните кнопку Далее.
7. В следующем диалоговом окне установите переключатель «Подробный…» и щелкните кнопку Далее.
8. Задайте имя запроса Оплата заказов, установите переключатель Открыть запрос для просмотра данных и щелкните кнопку Готово.
Рисунок 1. Запрос на выборку Заказы
Результаты созданного запроса будут представлены на экране в виде таблицы. Этот запрос объединяет нужные сведения из трех таблиц. Поля в запросе путем перетаскивания можно менять местами. К этой таблице можно применить фильтр для выделения части информации, нужной пользователю.
Задание 2. С помощью фильтра выведите информацию только об оплаченных заказах. Для этого необходимо:
1. Открыть запрос Оплата заказов в режиме просмотра.
2. На вкладке Главная в группе Сортировка и фильтр раскрыть список Параметры расширенного фильтра и выбрать пункт Изменить фильтр.
3. Установить с помощью мыши флажок в поле Оплачено.
4. В группе Сортировка и фильтр раскрыть список Параметры расширенного фильтра и выбрать пункт Применить фильтр.
В результате отбора информации с помощью фильтра в таблице остались только записи об оплаченных заказах.
СУБД позволяет сформировать различные виды запросов:
1. Запрос-выборка – позволяет выбрать группу записей из одной или нескольких таблиц в соответствии с заданными условиями отбора.
2. Запрос-обновление – вносит изменения в группу записей, которые удовлетворяют заданному условию.
3. Запрос-удаление – позволяет удалить из БД записи, удовлетворяющие заданному условию.
4. Запрос-добавление.
5. Запрос на создание таблиц.
6. Перекрестный запрос.
Условия отбора формируются с помощью операций отношения и логических операций. В СУБД эти операции обозначаются следующим образом.
Операции отношения | |
= | равно |
< > | не равно |
> | больше |
< | меньше |
>= | больше или равно |
<= | меньше или равно |
Логические операции | |
И | And |
ИЛИ | Or |
НЕ | Not |
Для формирования таких запросов необходимо:
1. В окне базы данных выбрать объект Запросы и на вкладке Создание в группе Другие нажать кнопкуКонструктор запросов.
2. Появятся два диалоговых окна: Запроси Добавление таблицы. В окне Добавление таблицы нужно выбрать необходимую таблицу и нажать кнопку Добавить. Повторить эту операцию для следующей таблицы. Когда все таблицы будут добавлены следует нажать на кнопку Закрыть. В окне Запроспоявятся все выбранные таблицы с установленными связями (рис. 2).
Рисунок 2. Диалоговые окна для формирования запросов
3. На вкладке Конструктор в группе Тип запроса выбрать нужный тип запроса.
4. Записать условия отбора в соответствующих полях окна запроса.
Задание 3. Создайте запрос на выборку, позволяющий вывести все заказы на сканирование или набор, дата исполнения которых до 15.03.2006 (дата может быть изменена).
Для выполнения задания необходимо в режиме конструктора сформировать запрос представленный на рис. 3.
Рисунок 3. Пример запроса на выборку
Задание 4. Самостоятельно сформировать следующие запросы:
- Запрос на выборку: выбрать все заказы, выполненные Сергеевым в период с 01.03.2006 до 30.03.2006, стоимость которых больше 2 единиц (даты и стоимость могут быть изменены).
- Любой запрос на обновление.
- Любой запрос на удаление.
Вопросы для самоконтроля:
1. Как создать запрос к БД?
2. Какие типы запросов можно сформировать в СУБД?