1. ЛЕКЦИЯ № 8
ТЕМА: ЯЗЫК ЗАПРОСОВ
ПО ОБРАЗЦУ QBE
План:
1. Язык запросов по образцу QBE.
2. Характеристика языка QBE.
3. Первоначальный вариант QBE.
4. Выборка данных.
5. Характеристика языков QBE современных
СУБД
2. Хранимые в базе данные можно обрабатывать вручную,
последовательно просматривая и редактируя данные в
таблицах с помощью имеющихся в СУБД соответствующих
средств. Для повышения эффективности применяют запросы,
позволяющие производить множественную обработку данных,
то есть одновременно вводить, редактировать и удалять
множество записей, а также выбирать данные из таблиц.
Запрос представляет собой специальным образом описанное
требование, определяющее состав производимых над БД
операций по выборке, удалению или модификации хранимых
данных.
Для подготовки запросов с помощью различных СУБД чаще
всего используются два основных языка описания запросов:
язык QBE (Query By Example) — язык запросов по образцу;
SQL (Structured Query Language) — структурированный язык
запросов.
По возможностям манипулирования данными при описании
запросов указанные языки практически эквивалентны. Главное
отличие между ними, по- видимому, заключается в способе
формирования запросов: язык QBE предполагает ручное или
визуальное формирование запроса, в то время как
использование SQL означает программирование запроса.
3. Характеристика языка QBE
Теоретической основой языка QBE является
реляционное исчисление с переменными-
доменами. Язык QBE позволяет задавать сложные
запросы к БД путем заполнения предлагаемой
СУБД запросной формы. Такой способ задания
запросов обеспечивает высокую наглядность и не
требует указания алгоритма выполнения операции
— достаточно описать образец ожидаемого
результата. В каждой из современных
реляционных СУБД имеется свой вариант языка
QBE.
На языке QBE можно задавать запросы
однотабличные и многотабличные (выбирающие
или обрабатывающие данные из нескольких
связанных таблиц).
4. С помощью запросов на языке QBE
можно выполнять следующие основные
операции:
выборку данных;
вычисление над данными;
вставку новых записей;
удаление записей;
модификацию (изменение) данных.
5. Результатом выполнения запроса является новая таблица,
называемая ответной (первые две операции), или обновленная
исходная таблица (остальные операции).
Выборка, вставка, удаление и модификация могут
производиться безусловно или в соответствии с условиями,
задаваемыми с помощью логических выражений. Вычисления
надданными задаются с помощью арифметических выражений
и порождают в ответных таблицах новые ноля, называемые
вычисляемыми.
Запросная форма имеет вид таблицы, имя и названия полей
которой совпадают с именем и названиями полей
соответствующей исходной таблицы. Чтобы узнать имена
доступных таблиц БД, в языке QBE предусмотрен запрос на
выборку имен таблиц. Названия полей исходной таблицы могут
вводиться в шаблон вручную или автоматически. Во втором
случае используется запрос на выборку заголовков столбцов.
В современных СУБД, например в Access и Visual FoxPro,
многие действия по подготовке запросов с помощью языка
QBE выполняются визуально с помощью мыши. В частности,
визуальное связывание таблиц при подготовке запроса
выполняется не элементами примеров, а просто «про-
таскиванием» мышью поля одной таблицы к полю другой.
6. Характеристика языков QBE
современных СУБД
Основные отличия языков QBE современных СУБД отяЗыка, предложенного
Злуффом М.М., как правило, сводятся к незначительным изменениям в
интерпретации отдельных реляционных операций, введению дополнитель-
ных операций и изменению формы представления языка.
Например, в системе Paradox for Windows вместо операции печати Р. при-
менен метод отметки выбираемых в запросной форме (шаблоне) полей. Для
этого в начале каждого из полей запросной формы располагаются флажки для
выбора поля. Отмечая поля, пользователь может указать последовательность
сортировки в ответной таблице. Для связывания нескольких запросных форм
в один многотабличный запрос, а также в логических выражениях условий
отбора записей применяются элементы примера.
Наглядными являются запросные формы в Microsoft Access. Диалоговое окно
(рис. 3.9) при подготовке запросных форм состоит из двух частей: в верхней
части располагается модель взаимосвязи исходных таблиц, а в нижней —
остальная информация о запросе по каждому из полей (необходимость выво-
да значений, вид сортировки, условие отбора и т. д.).
Подготовка шаблона запроса выполняется пользователем с помощью мыши.
Так, связывание таблиц в запросе производится не элементами примеров, а
«буксировкой» поля одной таблицы к полю другой таблицы. Если таблицы
имели связь между собой, то система автоматически связывает все
находящиеся в запросной форме таблицы. При этом каждая из связей поме-
чается в соответствии с ее типом (на рис. 3.9 между таблицами Поставщики и
Товары по полю Код_Поставщика образована связь вида 1:М).