Искусство создания базы данных в Microsoft Office Access 2007
Шрифт:
Запросы, используемые для извлечения данных из таблиц и выполнения расчетов, называют запросами на выборку. Это пользовательский тип запросов.
Запросы, применяемые для создания и изменения содержания базовых таблиц, называют запросами на изменение. Эти запросы предназначены, прежде всего, для администратора базы данных, т.к. направлены на актуализацию данных и управление данными. Поэтому такие запросы называют также управляющими запросами.
На первый взгляд запросы на выборку схожи с сортировкой и фильтрацией. Однако это не совсем так. Запросы являются более мощным и гибким инструментом, чем простое сочетание сортировки и фильтра. Основные отличия между этими подходами:
• достоинство команд сортировки и фильтрации в том, что они просты в применении и выполняются быстрее, чем запросы;
• первый недостаток сортировки и фильтрации: сохранить можно только последнюю установленную сортировку и последний использованный фильтр. Все другие сортировки и фильтры придется всякий раз определять заново. Исключение составляет расширенный фильтр, который, по сути, является запросом. Между тем любой запрос можно сохранить и многократно исполнять по мере необходимости;
• другой недостаток сортировки и фильтрации: работа только с одной открытой таблицей. Запрос же может извлекать данные из нескольких таблиц и запросов, и при этом не требует, чтобы они были открыты.
Запрос и базовая таблица, из которой он извлекает данные, связаны между собой. Если меняются данные в таблице, то модифицируется соответствующим образом результат выполнения запроса. И, наоборот, при корректировке данных в результатах запроса записи в базовой таблице также меняются.
Примечание. Следует знать, что в базе данных хранятся не результаты выполнения запросов, а лишь предписания описывающие, какую информацию надо извлечь из таблиц и какие вычисления необходимо осуществить. Запросы следует воспринимать как виртуальные таблицы базы данных. Чтобы подчеркнуть различие таблиц и запросов, применительно к обычным таблицам базы данных применяют термин «базовая таблица».
Основные типы запросов
В Access существуют следующие типы запросов на выборку:
• однотабличный запрос. Выбор подмножества данных из одной таблицы (выбор полей и выбор записей, удовлетворяющих заданным условиям);
• многотабличный запрос. Выбор данных из нескольких связанных между собой таблиц;
• запрос с параметром. Выбор записей по заданному значению некоторого поля (параметра). Это значение запрашивается с экрана у пользователя. Параметров может быть насколько;
• итоговый запрос. В таком запросе выполняются статистические расчеты;
• запрос с вычислениями. Это запрос, в котором определены поля, значения которых вычисляются на основе значений других полей таблиц;
• перекрестный запрос. Используется для просмотра, но не изменения данных. Результаты представляются в формате, подобном электронной таблице, что упрощает сравнение и анализ данных;
• запрос на выборку повторяющихся записей. Отбор записей-дубликатов в таблице;
• запрос на выборку записей без подчиненных. Выбор записей таблицы, которые не связаны с другой таблицей.
Примечание. В запросах на выборку данные могут извлекаться не только из базовых таблиц, но и из других запросов. Другими словами, источником записей запроса могут выступать как базовые, так и виртуальные таблицы базы данных.
В Access возможны такие типы запросов на изменение:
• запрос на создание таблицы. Создает новую базовую таблицу, в которую копируются записи существующей таблицы;
• запрос на обновление. Разновидность диалогового окна Поиск и замена с более широкими возможностями (несколько условий отбора и изменение записей сразу в одной, двух и более таблицах);
• запрос на добавление. Позволяет добавить набор записей из одной или нескольких таблиц в одну или несколько результирующих таблиц;
• запрос на удаление. Удаление набора записей целиком из одной или нескольких таблиц.
Средства создания запроса
Существуют три инструмента создания запроса: Мастер запросов, Конструктор запросов, программирование на SQL. Любой запрос, построенный с помощью Мастера запросов, может быть доработан в Конструкторе запросов и с помощью SQL. Возможен переход из Конструктора запросов в окно SQL и наоборот.
Мастер запросов позволяет быстро построить определенные типы запросов:
• простой запрос (однотабличный или многотабличный запрос, в котором осуществляется вычисление статистических функций);
• перекрестный запрос;
• запрос на выборку повторяющихся записей;
• запрос на выборку записей без подчиненных.
Чтобы создать запрос при помощи Мастера запросов нужно поступить так.
1. Открыть базу данных.
2. Перейти на вкладку Создание и в ней на группу команд Другие.
3. Щелкнуть команду Мастер запросов. Откроется диалоговое окно Новый запрос.
4. Выбрать тип запроса и следовать указаниям мастера.
5. Задать имя запроса, под которым следует его сохранить.
Универсальным средством создания и модификации запросов в Access является Конструктор запросов. Конструктор запросов позволяет создавать все типы запросов. Запросы в нем формулируются на языке QBE – языке запросов по образцу.
Примечание. QBE (Quere By Example) – непроцедурный язык манипулирования данными, с помощью которого пользователь указывает, какие данные необходимо отобразить на экране, не уточняя процедуру их формирования. Был разработан отделением IBM Research в 1977 году и задуман как средство, облегчающее работу неспециалистов. В настоящее время реализован практически во всех реляционных СУБД. В Access всякий QBE-запрос автоматически преобразуется в предложения структурированного языка запросов SQL (Structured Query Language). Язык SQL является также непроцедурным языком манипулирования данными, но уровнем ниже, чем QBE. Первый стандарт языка SQL вышел в 1987 году. Автором SQL считается математик Э. Кодд – сотрудник фирмы IBM.
Для вызова Конструктора запросов следует осуществить следующие шаги.
1. Открыть базу данных.
2. Найти вкладку Создание и в ней группу команд Другие.
3. Щелкнуть команду Конструктор запросов. Откроется бланк конструктора и диалоговое окно Добавление таблицы.
4. Указать в окне Добавление таблицы имена таблиц, из которых необходимо извлечь данные. Заметим, что в данном окне доступны как базовые таблицы, так и запросы. Это позволяет решить проблему вложенных запросов.
5. Закрыть окно Добавление таблицы. На ленте инструментов откроется вкладка Конструктор с четырьмя группами команд (табл. 2.1). Используя эти команды, приступить к заполнению бланка конструктора. Сформированный запрос сохранить.
Для сохранения запроса требуется выполнить действия.
1. Щелкнуть кнопку Microsoft Office.
2. Выбрать команду Сохранить.
3. Ввести имя запроса, если запрос сохраняется впервые. Щелкнуть кнопку Ok.