Реляционная модель была разработана доктором Э.Ф. Коддом в начале 70-х годов прошлого века. С ее созданием начался новый этап в эволюции СУБД. Простота и гибкость модели привлекли к ней внимание разработчиков и снискали ей множество сторонников. Несмотря на некоторые недостатки, реляционная модель стала доминирующей, а реляционные СУБД стали промышленным стандартом де-факто. Реляционная модель основана на математическом понятии отношения, физическим представлением которого является двумерная таблица, состоящая из строк одинаковой структуры. Логическая структура данных представляется набором связанных таблиц. Модель поддерживает связь “один к одному” и “один ко многим”. Связь “многие ко многим” реализуется с помощью декомпозиции.
Рассмотрим более детально реляционную модель.
Как уже отмечалось, любая база данных состоит из описаний объектов некоторой предметной области, а также содержит информацию о взаимосвязях между объектами. Тип объекта называется сущностью, а характеристики объектов их атрибутами. Таким образом, сущности соответствует определенный набор атрибутов, а каждому конкретному объекту соответствует набор значений атрибутов. Набор атрибутов, однозначно определяющий каждый объект, называют ключом. Атрибут можно рассматривать как переменную, принимающую значения из некоторого множества значений, называемого доменом атрибута.
Рассмотрим объект типа Т, имеющий набор атрибутов А1, А2, ..., Аn. Атрибут Aj может принимать значения из области (домена) Dj, j=1, 2, ..., n. Обозначим через аij значение атрибута Aj для объекта i, тогда каждому конкретному объекту i типа Т соответствует кортеж вида
ai =(аi1, аi2 , . . . , а in ), aijÎDj, i=l, 2, ..., m; j=l, 2, ...,n;
где m – количеcтво объектов типа Т. Всему набору рассматриваемых объектов типа Т соответствует набор кортежей:
a11, a12, ..., a1n
R=
a21, a22, ..., a2n
........................
am1, am2, ..., amn
Ясно, что R Í DlxD2х...хDn.
Множество кортежей R называют отношением, а количество атрибутов n – арностью отношения. Количество содержащихся в отношении кортежей называется кардинальностью отношения. Заметим, что, так как отношение – это множество, то порядок следования кортежей в отношении несущественен, отношение не содержит одинаковых элементов – кортежей и, следовательно, обязательно имеет набор атрибутов, являющийся ключом.
Совокупность атрибутов R=(Al, A2, ..., Аn) называется схемой отношения. Если обозначить U={Al, A2, ..., An}, то схему отношения можно записать в виде R=(U). Само отношение R называется текущим значением или экземпляром схемы отношения R. База данных обычно содержит несколько отношений: Rl, R2, …, Rk; совокупность их схем R1=(U1), R2=(U2), ..., Rk=(Uk) называется схемой реляционной базы данных.
Отношение можно рассматривать как двумерную таблицу, каждый столбец которой имеет имя – атрибут, а каждая строка содержит данные по одному объекту или данные о связи между несколькими конкретными объектами.
Таким образом, набор кортежей R можно записать в виде:
A1
A2
…
AN
a11
a12
…
a1n
a21
a22
…
a2n
…
…
…
…
am1
am2
…
amn
Для таблицы должны выполняться следующие правила: таблица имеет имя, отличное от имен других таблиц; каждая клетка таблицы содержит только атомарное значение; каждый столбец таблицы имеет уникальное имя; данные для столбца берутся из одного множества значений; порядок следования столбцов не имеет значения; таблица не имеет повторяющихся строк; строки не имеют имен; порядок следования строк не имеет значения.
Любая таблица имеет один или несколько столбцов, значения которых однозначно идентифицируют каждую ее строку. Такой столбец (или совокупность столбцов) называется первичным ключом. Взаимосвязи таблиц в реляционной модели поддерживаются внешними ключами. Внешний ключ – это столбец (или совокупность столбцов), значения которого однозначно характеризуют сущности, представленные строками некоторого другого отношения, т.е. задают значения их первичного ключа.
Для пользователей АИС необходимо, чтобы база данных отражала предметную область однозначно и непротиворечиво, то есть удовлетворяла условиям целостности. Для обеспечения выполнения условий целостности, на базу данных накладываются некоторые ограничения, которые называют ограничениями целостности. Выделяют два основных типа ограничений целостности: целостность сущностейицелостность ссылок. Ограничение первого типа означает, что любое отношение должно обладать первичным ключом; в принципе для отношения это свойство должно выполняться автоматически. Ограничение ссылочной целостности заключается в том, что внешний ключ не может быть указателем на несуществующую строку в таблице. Контроль целостности осуществляется проверкой ограничений целостности:
1) ключевой столбец не может содержать неопределенное значение (определитель NULL);
2) для связанных таблиц каждой строке основной таблицы соответствует нуль или более строк подчиненной таблицы;
3) для связанных таблиц в подчиненной таблице нет строк, не имеющих родительских строк в основной таблице;
4) для связанных таблиц каждая строка подчиненной таблицы имеет только одну родительскую строку в основной таблице.
Основными операциями манипулирования данных являются: добавление строк; модификация строк; удаление строк.
В основе операций над отношениями лежат операции реляционной алгебры и реляционного исчисления, о которых будет рассказано в соответствующем разделе.
Достоинствами реляционной модели являются простота, наглядность, независимость от данных. К тому же, в отличие от сетевых и иерархических моделей, реляционные модели для организации связей между записями применяют не внутренние указатели, а фактические значения атрибута, используя общий атрибут в каждой из записей.
Недостатки реляционной модели связаны с однородностью структуры данных, семантической перегруженностью модели, ограниченным набором операций.