Управл_данными / 07-язык_QBE
.pdfУправление данными
Языки баз данных
Зудилин А.Э. 2013
Языки баз данных
В СУБД поддерживается несколько специализированных по своим функциям подъязыков.
Их можно разделить на две категории:
1)Язык определения данных – ЯОД (DDL – Data Definition Language)
1)Язык манипулирования данными – ЯМД (DML – Data Manipulation Language)
2
Язык определения данных
Язык определения данных (ЯОД) – описательный язык, с помощью которого описывается предметная область: именуются объекты, определяются их свойства и связи между объектами.
Он используется для определения логической структуры БД.
Схема БД, выраженная в терминах ЯОД, состоит из набора определений.
ЯОД используется как для определения новой схемы, так и для модификации уже существующей.
3
Системный каталог – Словарь данных
Результатом компиляции ЯОД является набор таблиц, хранимых в системном каталоге.
Перед доступом к реальным данным СУБД обычно обращается к системному каталогу.
Таким образом, ЯОД предназначен только для описания схем, его нельзя использовать для управления данными.
Схема создается в процессе проектирования БД, причем предполагается, что она изменяется достаточно редко.
4
Языки манипулирования данными
Язык манипулирования данными (ЯМД) содержит набор операторов, позволяющих заносить данные в БД, удалять, модифицировать или выбирать существующие данные.
Содержащаяся в БД информация может меняться часто.
Совокупность информации, хранящейся в БД в любой определенный момент времени, называется состоянием БД.
Одной и той же БД может соответствовать множество ее различных состояний
5
Операции над данными
БД переводится из одного состояние в другое с помощью операций (команд ЯМД)
6
Операции над данными
Выборка – чтение экземпляра записи из БД
Включение (добавление, вставка) – ввод нового экземпляра записи в БД, с установкой его связей.
Удаление – исключение экземпляра записи из БД с установкой новых связей
Модификация – изменение содержимого экземпляра записи и коррекция связей при необходимости.
ЯМД делятся на два типа:
1)Процедурный ЯМД
2)Декларативный (непроцедурный) ЯМД
7
Процедурный ЯМД
Средства процедурного ЯМД представляют собой операторы над данными, которые необходимо выполнить в определенном порядке для получения требуемой информации.
Обычно такой процедурный язык позволяет извлечь запись, обработать ее, затем извлечь следующую запись, которая должна быть подвергнута аналогичной обработке.
Языки ЯМД сетевых и иерархических СУБД обычно являются процедурными.
К процедурным ЯМД относятся и языки операций реляционной алгебры.
8
Декларативные ЯМД
Декларативные ЯМД предоставляют пользователю средства, позволяющие указать лишь то, какие данные требуются.
Решение вопроса о том, как их следует извлекать, берет на себя процессор данного языка, работающий с целым набором данных.
Данный подход освобождает пользователя от необходимости знать детали реализации структур данных и особенностей алгоритмов, используемых для извлечения и преобразования данных.
Реляционные СУБД обычно включают поддержку непроцедурных ЯМД – чаще всего это язык структурированных запросов SQL или язык запросов по образцу QBE.
9
Язык запросов QBE
Часть непроцедурного языка ЯМД, которая отвечает за поиск и извлечение данных называется языком запросов.
Запрос представляет собой специальным образом описанное требование по выборке, удалению или модификации данных.
Язык QBE (Query by example) – язык запросов по образцу
10