- •Лекция 1,2. Основные понятия. Введение в базы данных.
- •2. Управление буферами оперативной памяти.
- •3. Управление транзакциями
- •4. Журнализация
- •5. Поддержка языков бд
- •Теоретические языки запросов.
- •1. Теоретико – множественные операции
- •2. Специальные операции:
- •Кортежные переменные и правильно построенные формулы
- •Целевые списки и выражения реляционного исчисления
- •Реляционное исчисление доменов
- •Лекция 6. Табличный язык запросов qbe
- •1. Запросы на выборку
- •2. Запросы на обновление
- •Запросы с использованием группировки и обобщающего набора функций:
- •Запрос для вычисления выражения
- •Лекция 7. Язык sql. Определение данных, манипулирование данными.
- •Раздел from
- •Раздел where
- •Раздел group by
- •Раздел having
- •Агрегатные функции и результаты запросов
- •Семантика агрегатных функций
- •Результаты запросов
- •Операторы определения и манипулирования данными.
- •Операторы определения данных. Определение таблицы.
- •Определение столбца
- •Операторы манипулирования данными.
- •Основные понятия модели Сущность-Связь.
- •Инфологическое проектирование.
- •Лекция 12.
Лекция 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 выполняются визуально с помощью мыши. В частности, визуальное связывание таблиц при подготовке запроса выполняется не элементами примеров, а просто «протаскиванием» мышью поля одной таблицы к полю другой.
Операции: выборка данных, обновление записей, группировка данных. Использование обобщающих функций, создание запросов для вычисления выражения