- •Базы данных
- •Литература
- •1. Введение в базы данных
- •1.1. Данные, информация, знания
- •1.2. Банки и базы данных (основные компоненты и понятия)
- •1.3. Архитектура информационной системы клиент-сервер
- •1.4. Классификация и основные функции субд
- •1.5. Обмен данными при работе с бд в локальной ис
- •2. Модели и типы данных
- •2.1. Иерархическая модель
- •2.2. Сетевая модель
- •2.3. Реляционная модель
- •2.4. Типы данных в субд
- •3. Реляционная модель данных
- •3.1. Определение реляционной модели
- •3.2. Связывание таблиц; основные виды связи
- •3.3. Связь таблиц вида 1:1
- •3.4. Связь таблиц вида 1:м
- •3.5. Связь таблиц вида м:1
- •3.6. Связь таблиц вида м:м
- •3.7. Контроль целостности связей
- •3.8. Введение в язык запросов qbe
- •3.9. Основные объекты субд ms Access
- •3.10. Общая характеристика языка qbe субд ms Access
- •3.11. Построение условий в запросах на выборку в субд ms Access
- •3.12. Запросы на выборку в субд ms Access (вычисления по горизонтали и вертикали, группирование записей)
- •3.13. Структурированный язык запросов sql (общая характеристика, инструкции)
- •3.14. Структурированный язык запросов sql (имена, типы данных, встроенные функции)
- •3.15. Язык sql: команда создания таблицы (create table)
- •Описание столбцов
- •Пример создания таблицы
- •3.16. Язык sql: команда извлечения данных (select) и отдельные разделы этой команда
- •3.17. Примеры использования команды select
3.8. Введение в язык запросов qbe
Хранимые в базе данные можно обрабатывать вручную, последовательно просматривая и редактируя данные в таблицах, с помощью имеющихся в СУБД соответствующих средств. Для повышения эффективности применяют запросы, позволяющие производить множественную обработку данных, т. е. одновременно вводить, редактировать и удалять множество записей, а так же выбирать данные из таблиц.
Запрос представляет собой специализированным образом описанное требование, определяющее состав производимых над БД операций по выборке, удалению или модификации хранимых данных.
Для подготовки запросов с помощью различных СУБД чаще всего используются 2 основных языка описания запросов:
- язык QBE (Query By Example) – язык запросов по образцу;
- SQL (Structured Query Language) – структурированный язык запросов.
По возможностям манипулирования данными при описании запросов указанные языки практически эквивалентны. Главное отличие между ними заключается в способе формирования запросов: язык QBE предполагает ручное или визуальное формирование запроса. В то время как использование SQL означает программирование запроса.
Теоретической основой языка QBE является реляционное исчисление с переменными доменами. Домен – множество заголовков столбцов таблицы.
Язык QBE позволяет задавать сложные запросы к БД путем заполнения предлагаемой СУБД запросной формы. Такой способ задания запросов обеспечивает высокую наглядность и не требует указания алгоритма выполнения операции – достаточно описать образец ожидаемого результата. В каждой из современных реляционных СУБД имеется свой вариант языка QBE.
На языке QBE можно задавать запросы однотабличные и многотабличные (выбирающие или обрабатывающие данные из нескольких связанных таблиц).
С помощью запросов на языке QBE можно выполнить следующие основные операции:
- выборку данных;
- вычисления над данными;
- удаление записей;
- модификацию (изменение) данных.
Результатом выполнения запроса является новая таблица, называемая ответной (первые две операции), или обновленная исходная таблица (остальные операции).
Выборка, вставка, удаление и модификация могут производиться безусловно или в соответствии с условиями, задаваемыми с помощью логических выражений. Вычисления над данными задаются с помощью логических выражений. Вычисления над данными задаются с помощью арифметических выражений и порождают в ответных таблицах новые поля, называемые вычисляемыми.
Запросная форма имеет вид таблицы, имя и название полей которой совпадают с именем и названиями полей соответствующей исходной таблицы. Чтобы узнать имена доступных таблиц БД, в языке QBE предусмотрен запрос на выборку имен таблиц. Названия полей исходной таблицы могут вводиться в шаблон вручную или автоматически. Во втором случае используется запрос на выборку заголовков столбцов.
В современных СУБД, например в Access и Visual FoxPro, многие действия по подготовке запросов с помощью языка QBE выполняются визуально с помощью мыши. В частности, визуальное связывание таблиц при подготовке запроса выполняется не элементами примеров, а «протаскиванием» мышью поля одной таблицы к полю другой.