Назначение и виды запросов

Запросы

Запросы являются одним из основных инструментов выборки, обновления и обработки данных в таблицах базы данных. Запрос позволяет сформировать пользовательское представление о данных, не обязательно отвечающее требованиям нормализации. Результат выполнения запроса — это новая, чаще всего временная, таблица, которая существует до закрытия запроса. Структура такой таблицы определяется выбранными из одной или нескольких таблиц полями. Записи формируются путем объединения записей таблиц, участвующих в запросе. Способ объединения записей различных таблиц указывается при определении их связи. Условия отбора, сформулированные в запросе, позволяют фильтровать записи, составляющие результат объединения таблиц. Простейшие запросы могут быть созданы с помощью мастера. Любой запрос можно создать в режиме конструктора. Конструктор предоставляет удобное для пользователя диалоговое графическое средство формирования запросов, с помощью которого легко может быть построен сложный запрос.

Запрос строится на основе одной или нескольких взаимосвязанных таблиц, позволяя объединять данные, содержащиеся в них. При этом могут использоваться таблицы базы данных, а также сохраненные таблицы, полученные в результате выполнения других запросов. Кроме того, запрос может строиться непосредственно на другом запросе с использованием его временной таблицы с результатами.

Назначение и виды запросов

Запрос позволяет выбрать необходимые данные из одной или нескольких взаимосвязанных таблиц, произвести вычисления и получить результат в виде виртуальной таблицы. Полученная таблица может использоваться в качестве источника данных в формах, отчетах, страницах доступа к данным, других запросах. Через запрос можно производить обновление данных в таблицах, добавление и удаление записей.

С помощью запроса можно выполнить следующие виды обработки данных:

  • включить в результирующую таблицу запроса заданные пользователем поля;
  • выбрать записи, удовлетворяющие условиям отбора;
  • произвести вычисления в каждой из полученных записей;
  • сгруппировать записи, которые имеют одинаковые значения в одном или нескольких полях, в одну запись и одновременно для других полей образовавшихся групп выполнить одну из статистических функций;
  • произвести обновление полей в выбранном подмножестве записей;
  • создать новую таблицу базы данных, используя данные из существующих
  • таблиц;
  • удалить выбранное подмножество записей из таблицы базы данных; "а добавить выбранное подмножество записей в другую таблицу.

Многотабличный запрос позволяет сформировать записи результата путем объединения взаимосвязанных записей из таблиц базы данных и включения, нужных полей из них. В частности, при объединении двух нормализованных связанных одно-многозначными отношениями таблиц, результирующая запись образуется на основе записи подчиненной таблицы, в которую добавляются поля из связанной записи в главной таблице. Заметим, что подобное объединение формирует новую ненормализованную таблицу, в которой данные могут многократно дублироваться. Рассмотренный способ формирования записей запроса задается при установлении связи между таблицами по умолчанию. По умолчанию связи устанавливаются с параметром объединения первого типа: объединение только тех записей, в которых значения полей связи обеих таблиц совпадают. Могут устанавливаться и другие способы объединения таблиц (см. разд. "Схема данных в Access" главы 3).

Последовательное выполнение ряда запросов позволяет решать достаточно сложные задачи, не прибегая к программированию.

Access может быть создано несколько видов запроса: