Языки манипулирования данными. Карепова Е.Д. - 2 стр.

UptoLike

Составители: 

3
ОБЩИЕ СВЕДЕНИЯ
В 1970, 1971 гг. Е.Ф. Кодд (E.F. Codd) опубликовал две знаковые ста-
тьи, в которых последовательно разработал математический аппарат для ре-
ляционной модели данных (РМД). По сути дела, РМД стала первой до конца
проработанной и имеющей под собой строгий математический фундамент
моделью. Более ранние СУБДобзавелись моделями данных (иерархиче-
скими, сетевыми, основанными на инвертированных списках) постфактум,
после десятилетия успешной работы на потребительском рынке отдельных
продуктов. Более поздние (например, объектно-ориентированные модели) до
сих пор не могут «похвастаться» наличием столь законченной и единой ма-
тематической теории, что сильно усложняет их стандартизацию и коммерче-
ское использование.
Хотя РМД сама по себе имеет большое значение, именно язык обра-
ботки данных явился основанием для реляционной революции в БД.
Предметом обсуждения в настоящем пособии является процесс мани-
пулирования данными в уже построенной реляционной базе данных (РБД).
Основные понятия и процесс проектирования РМД выходят за рамки вы-
бранной темы, поэтому отсылаем читателя к списку литературы.
Манипуляционная часть РМД опирается на два фундаментальных ме-
ханизма манипулирования реляционными БД - реляционную алгебру и реля-
ционное исчисление. Первый механизм (реляционная алгебра, РА) базиру-
ется в основном на классической теории множеств и является процедурным
(т.е. обеспечивающим пошаговое решение задач) языком обработки реляци-
онных таблиц. Второй механизм (реляционное исчисление, РИ) опирается
на классический логический аппарат исчисления предикатов первого поряд-
ка. Этот язык позволяет формулировать, что нужно сделать, а не как этого
добиться (декларативный язык).
Е. Кодд показал, что РА и РИ логически эквивалентны, то есть любой
запрос, который можно сформулировать в терминах РА, можно записать,
пользуясь РИ, и наоборот. Этот факт позволяет измерять логическую мощ-
ность любого языка запросов РМД. Язык называется реляционным (реляци-
онно полным), если он обладает не меньшей мощностью, чем РА или РИ.
В современных СУБД обычно поддерживается единый интегрирован-
ный язык, содержащий все необходимые средства для работы с БД. Стан-
дартным языком наиболее распространенных в настоящее время реляцион-
ных СУБД является язык SQL (Structured Query Language). Прежде всего,
язык SQL сочетает средства определения логической структуры и ограниче-
ний целостности РБД (DDL – Data Definition Language) и языка манипулиро-
вания данными (DML – Data Manipulation Language). Кроме того, язык SQL
поддерживает специфические возможности администрирования БД, а также
авторизации доступа к объектам БД (DCLData Control Language). Важной
особенностью реализации SQL является сочетание интерактивного доступа к
4
БД с возможностью встраивания SQL в стандартные языки программирова-
ния.
ПОНЯТИЕ ОТНОШЕНИЯ
Атрибут свойство объекта предметной области. Атрибут характери-
зуется именем и значением, которое должно принадлежать некоторому до-
мену. Домен определяется базовым типом данных, к которому относятся
элементы домена, и логическим выражением, применяемым к элементам ти-
па данных. Если вычисление этого логического выражения дает результат
"истина", то элемент данных является элементом домена:
Домен = Базовый тип + Правило.
Наиболее правильной интуитивной трактовкой понятия домена являет-
ся понимание его как допустимого потенциального множества значений дан-
ного типа.
Следует отметить также семантическую нагрузку понятия домена:
данные считаются сравнимыми (тета-сравнимыми) только в том случае, ко-
гда они относятся к одному домену, а не к одному базовому типу.
Таким образом, каждый экземпляр объекта предметной области в каж-
дый момент времени однозначно характеризуется набором конкретных зна-
чений атрибутов.
Схема отношенияэто именованное множество пар {имя атрибута,
имя домена}. Степень или "арность" схемы отношениямощность этого
множества, т.е. количество атрибутов.
Схема базы данныхэто набор именованных схем отношений.
Картеж, соответствующий данной схеме отношения, – это множество
пар {имя атрибута, значение}, которые содержат одно вхождение каждого
имени атрибута, принадлежащего схеме отношения. “Значениеявляется до-
пустимым значением домена данного атрибута.
Отношениеэто множество картежей, соответствующих одной схеме
отношения.
На самом деле, понятие схемы отношения ближе всего к понятию
структурного типа данных в языках программирования. Было бы вполне ло-
гично разрешать отдельно определять схему отношения, а затем одно или не-
сколько отношений с данной схемой. Однако в реляционных базах данных
это не принято. Имя схемы отношения в базах данных всегда совпадает с
именем соответствующего отношения-экземпляра.
В классических реляционных базах данных после определения схемы
базы данных изменяются только отношения-экземпляры. В них могут появ-
ляться новые и удаляться или модифицироваться существующие картежи.
Однако во многих реализациях допускается и изменение схемы базы данных:
определение новых и изменение существующих схем отношения. Это приня-
то называть эволюцией схемы базы данных.