
Лабораторная работа №4 Тема: запросы в субд access
Цель: Научиться формировать запросы к рабочей БД в СУБД ACCESS путем применения стандартных средств СУБД и с помощью SQL.
Общие сведения
Формирование таблиц и заполнение их данными - это основной этап в создании БД. Хотя этот процесс необходим и достаточен с точки зрения хранения данных, он отнюдь не достаточен с точки зрения доступа и использования информации. А ведь именно последние две задачи являются в СУБД наиболее важными, так как информация для того и хранится в БД, чтобы ее можно было быстро извлечь и при необходимости обработать соответствующим образом.
Быстрый и эффективный доступ к хранящимся в таблицах данным обеспечивают запросы. Запросы используются также для обработки информации, хранящейся в таблицах: сортировки данных, проведения вычислений с данными, создания таблиц с выборочными данными, подведения итоговых результатов и т.п. Хорошо организованная БД обычно имеет сравнительно небольшое количество исходных таблиц, где хранятся данные, и большое количество разнообразных запросов, которые и обеспечивают все предъявляемые к БД требования и проводят все необходимые манипуляции с имеющейся в БД информацией.
Рисунок 1 – Диалоговое окно выбора способа создания запроса
При выполнении запроса СУБД Access выбирает нужные данные из соответствующей таблицы или собирает данные из разных таблиц, производит при необходимости их обработку и представляет результат в виде новой таблицы. При этом результат запроса не сохраняется, т.е. таблица запроса существует только как результат выполнения запроса, а в самом запросе сохраняется только инструкция по выборке и обработке данных. Таким образом, запрос в СУБД Access представляет собой некую программу, написанную на т.н. языке запросов SQL (Structured Query Language – язык структурированных запросов, англ., см. подробнее подраздел 3).
Для создания запросов СУБД Access предлагает несколько вариантов (см. рис. 1). При этом в режиме Конструктор запрос создается полностью самим пользователем на основе специальной таблицы QBE (Query by Example – запрос по образцу, англ.), а другие способы используют соответствующих Мастеров, где запрос создается полностью путем выбора предлагаемого готового варианта и по наводящим подсказкам.
1 Запрос на выборку данных
Для создания простого запроса на выборку данных, т.е. выбора только для просмотра необходимых полей таблицы или полей из совокупности связанных таблиц без обработки выбранной информации, следует в начальном окне БД выбрать режим Запросы, нажав мышью на корешок соответствующей вкладки. Затем выполнить последовательно команды Создать/Простой запрос (см. рис. 1). После этого включается Мастер, формирующий запрос в автоматическом режиме в ходе диалога. В результате сначала на экране появляется диалоговое окно с двумя подокнами: Таблицы/запросы и Выбранные поля (см. рис. 2).
Выбрав в окне Таблицы/запросы нужную таблицу, можно отобрать в ней для просмотра нужные поля, нажав после выбора мышью соответствующего поля таблицы в окне Доступные поля кнопку правее окна «>», либо сразу все поля таблицы, нажав кнопку «>>». Если же необходимо отобрать для просмотра поля сразу из нескольких связанных между собой таблиц, то после выбора полей из первой таблицы переходят в окне Таблицы/запросы к другой таблице и аналогичным образом добавляют нужные для просмотра поля.
П
осле
выбора полей таблицы Мастер Простой
запрос
открывает диалоговое окно, где необходимо
задать имя для сформированного запроса
и выбрать режим подробности выборки:
подробный
(вывод
всех полей для каждой записи),
что приводит к окончанию работы Мастера,
либо итоговый
для неповторяющихся записей, что
соответствует т.н. Итоговому
запросу,
который требует дальнейшего диалога.
Рисунок 2 – Диалоговое окно создания Простого запроса на выборку
Создайте с помощью Мастера Простой запрос запрос на основе таблицы «Клиенты» с выбором всех полей для просмотра. Сохраните запрос под именем «Клиенты».
Необходимо заметить, что если выбирать для запроса поля сразу из нескольких таблиц, то в результате выполнения такого запроса в единой таблице будут собраны все записи, соответствующие запрашиваемым данным таблиц с повтором значений полей из главной таблицы. Это происходит вследствие того, что одной записи в главной таблице соответствует несколько записей в подчиненной таблице, и обеспечивается автоматически благодаря наличию межтабличных связей типа один-ко-многим, а также целостностью данных в БД.
Другие запросы, создаваемые с помощью Мастеров: Перекрестный, Повторяющиеся записи, Записи без подчиненных, имеют более сложную структуру и будут разбираться в пособии в дальнейшем, после подробного рассмотрения основного режима формирования запросов – режима Конструктор. Именно в режиме Конструктор можно сформировать тот запрос, который вам нужен, поскольку рассмотренный выше пример использования Мастера не способен провести даже такую простую операцию обработки данных, как сортировка записей в таблице запроса.