Хранимые в базе данные можно обрабатывать вручную, последовательно просматривая и редактируя данные в таблицах с помощью имеющихся в СУБД средств. Для повышения эффективности обработки данных применяют запросы, позволяющие производить множественную обработку данных, т, е. одновременно вводить, редактировать и удалять множество записей, а также выбирать данные из таблиц.
Запрос представляет собой специальным образом описанное требование, определяющее состав производимых над БД операций по выборке, удалению или модификации хранимых данных.
Для подготовки запросов в различных СУБД чаще всего используются два основных языка описания запросов: QBE (Query By Example) — язык запросов по образцу; SQL (Structured Query Language) — структурированный язык запросов.
Язык QBE применяет визуальный подход организации доступа к информации, основанный на применении шаблонов (форм запросов). Такой способ обеспечивает высокую наглядность и не требует указания алгоритма выполнения операции — достаточно описать образец ожидаемого результата. Можно задавать однотабличные и многотабличные (выбирающие или обрабатывающие данные из нескольких связанных таблиц) запросы.
Язык разработан компанией IBM в 70-е годы, получил широкое признание пользователей и в настоящее время представлен в большинстве популярных СУБД.
При выполнении QBE-запроса СУБД неявно конструирует эквивалентный оператор на языке SQL.
С помощью запросов на языке QBE можно выполнять следующие действия:
- выборку данных;
- вычисление над данными;
- вставку новых записей;
- удаление записей;
- модификацию (изменение) данных.
Результатом выполнения запроса является новая таблица (для выборки, вычислений) или обновленная исходная таблица. В реальных приложениях баз данных QBE используется в основном для выборки данных.
Выборка, вставка, удаление и модификация могут осуществляться безусловно или в соответствии с условиями, задаваемыми с помощью логических выражений. Вычисления над данными задаются с помощью арифметических выражений и порождают в ответных таблицах новые поля, называемые вычисляемыми.
Запросная форма обычно имеет вид таблицы, имя и названия полей которой совпадают с именем и названиями полей соответствующей исходной таблицы. Названия полей исходной таблицы могут вводиться в шаблон вручную или автоматически. В современных СУБД, например, в Access и Visual FoxPro, многие действия по подготовке запросов с помощью языка QBE выполняются визуально с помощью мыши.
В процессе работы с СУБД можно использовать специальные вспомогательные сервисные программы – мастера. В процессе создания запроса следует указать: - таблицы и поля таблиц в БД, по которым будет идти поиск информации; - критерий поиска в базе данных; - перечень полей - результатов выполнения запроса.
Мастер запросов позволяет сгенерировать несколько типов запросов:
- простой запрос на выборку;
- перекрестный;
- поиск дубликатов (повторяющиеся записи) (см. Repeat_Clients, Repeat_Clients_Mounth – клиенты, сделавшие более 1 заказа);
Примечание. Условие отбора имеет вид
In (SELECT [Поле] FROM [Таблица] As Tmp GROUP BY [Поле] HAVING Count(*)>1 )
- поиск записей, не имеющих соответствия в некоторой таблице/запросе (записи без подчиненных) (см. Goods-no-Custom – товары, не заказанные в указанном месяце).
Мастер в процессе диалога с пользователем запрашивает информацию для заполнения формы запроса и в конце предлагает внести коррективы в полученный макет самостоятельно. Макет запроса содержит список полей таблиц, условия отбора, признаки сортировки и отображения на экране.
Более сложные запросы создаются сразу с помощью конструктора.
Запросы на выборку данных – наиболее распространенный тип запросов. Они позволяют извлечь данные из одной или более таблиц. Информация отображается в табличной форме. Допускается группирование строк, вычисление промежуточных итогов.
Окно запроса состоит из двух частей. В верхней отражаются связанные объекты (таблицы, запросы) – источники записей (кортежей). В нижней определяются характеристики запроса. Бланк запроса представлен в табличной форме. Каждая колонка (поле запроса) характеризует некоторый домен БД. В поле запроса задаются следующие сведения:
- поле (таблицы или запроса), можно указать псевдоним;
- имя таблицы (запроса);
- (группирование либо групповая операция) – необязательная характеристика для формирования итогов;
- сортировка;
- отображение на экран (признак);
- условия отбора (критерии).
Для задания условий используется окно диалога Построитель выражений. Выражение содержит константы, операторы, встроенные функции, атрибуты объектов БД (таблицы, запросы, формы, отчеты).
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.