Шрифт:
Запрос и базовая таблица, из которой он извлекает данные, связаны между собой. Если меняются данные в таблице, то модифицируется соответствующим образом результат выполнения запроса. И, наоборот, при корректировке данных в результатах запроса записи в базовой таблице также меняются.
Примечание. Следует знать, что в базе данных хранятся не результаты выполнения запросов, а лишь предписания описывающие, какую информацию надо извлечь из таблиц и какие вычисления необходимо осуществить. Запросы следует воспринимать как виртуальные таблицы базы данных. Чтобы подчеркнуть различие таблиц и запросов, применительно к обычным таблицам базы данных применяют термин «базовая таблица».
Основные типы запросов
В 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. Указать в окне Добавление таблицы имена таблиц, из которых необходимо извлечь данные. Заметим, что в данном окне доступны как базовые таблицы, так и запросы. Это позволяет решить проблему вложенных запросов.