Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
материалы к БД по дисциплине.docx
Скачиваний:
19
Добавлен:
21.04.2019
Размер:
1.3 Mб
Скачать

Лекция 6. Табличный язык запросов qbe

Хранимые в базе данные можно обрабатывать вручную, последовательно просматривая и редактируя данные в таблицах с помощью имеющихся в СУБД соответствующих средств. Для повышения эффективности применяют запросы, позволяющие производить множественную обработку данных, то есть одновременно вводить, редактировать и удалять множество записей, а также выбирать данные из таблиц.

Запрос представляет собой специальным образом описанное требование, определяющее состав производимых над БД операций по выборке, удалению или модификации хранимых данных.

Для подготовки запросов с помощью различных СУБД чаще всего используются два основных языка описания запросов:

  • Язык QBE (Query By Example) – язык запросов по образцу;

  • SQL (Structured Query Language) – структурированный язык запросов.

По возможностям манипулирования данными при описании запросов указанные языки практически эквивалентны. Главное отличие между ними, по-видимому, заключается в способе формирования запросов: язык QBE предполагает ручное или визуальное формирование запроса, в то время как использование SQL означает программирование запроса.

QBE (Query-by-Example)– язык запросов по образцу был разработан в 1977 г. М.М.Zloof. Язык создавался параллельно с SQL (фирма JBM). Эти языки логически сходны. QBE позволяет пользователям не специалистам легко формулировать запросы.

QBE – это компьютерный язык, в котором для решения задач используется графическое представление. Этот язык встраивается в другие прикладные языки.

Синтаксис языка основывается на идее формирования элементов в «шаблоне таблицы» на экране дисплея вместо записей линейных операторов.

В QBE используются таблицы – образцы, показывающие имя таблицы и имена столбцов над пустыми областями, используемыми для ввода запроса.

На бланк запроса выводятся имена столбцов с именем таблицы, которые участвуют в запросе. Галочкой отмечаются поля, которые выводятся в запрос. И в строке «Условия отбора» указывается его значение.

Теоретической основой языка QBE является реляционное исчисление с переменными-доменами. Язык QBE позволяет задавать сложные запросы к БД путем заполнения предполагаемой СУБД запросной формы. Такой способ задания запросов обеспечивает высокую наглядность и не требует указания алгоритма выполнения операции – достаточно описать образец ожидаемого результата. В каждой из современных реляционных СУБД имеется свой вариант языка QBE.

На языке QBE можно задавать запросы однотабличные и многотабличные (выбирающие или обрабатывающие данные из нескольких связанных таблиц).

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

  • Выборку данных;

  • Вычисление над данными;

  • Вставку новых записей;

  • Удаление записей;

  • Модификацию (изменение) данных.

Результатом выполнения запроса является новая таблица (первые две операции) или обновленная исходная таблица (остальные операции).

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

Запросная форма имеет вид таблицы, имя и названия полей которой совпадают с именем и названиями полей соответствующей исходной таблицы. Чтобы узнать имена доступных таблиц БД, в языке QBE предусмотрен запрос на выборку имен таблиц. Названия полей исходной таблицы могут вводиться в шаблон вручную или автоматически. Во втором случае используется запрос на выборку заголовков столбцов.

В современных СУБД, например Access многие действия по подготовке запросов с помощью языка QBE выполняются визуально с помощью мыши. В частности, визуальное связывание таблиц при подготовке запроса выполняется не элементами примеров, а просто «протаскиванием» мышью поля одной таблицы к полю другой.

Операции: выборка данных, обновление записей, группировка данных. Использование обобщающих функций, создание запросов для вычисления выражения