Реляционная модель данных предполагает, что данные представляются одним способом, а именно в виде таблицы (см. рис.52). Каждая строка в таблице содержит информацию, относящуюся к конкретному экземпляру объекта. Эта информация представляет собой набор фактов, при этом в столбце (называемым также атрибутом или полем) содержится конкретный факт.
Основными понятиями реляционных баз данных являются тип данных, домен, атрибут, кортеж, первичный ключ и отношение.
Рассмотрим смысл этих понятий на примере отношения СОТРУДНИКИ, содержащего информацию о сотрудниках некоторой организации:
Типы данных
Целые числа
Строки символов
Деньги
Домены
Номера пропусков
Имена
Размеры выплат
Номера отделов
ПЕРВИЧНЫЙКЛЮЧ
Сотр_номер
Сотр_имя
Сотр_зарп
Сотр_отд_номер
Атрибуты
Иванов
112,00
Симонов
200,00
Цветаева
220,00
Ахматова
180,00
Рис.52 Общая схема реляционной модели данных
Тип данных. Понятие тип данных в реляционной модели данных полностью адекватно понятию типа данных в языках программирования, обычно в БД допускается хранении символьных, числовых данных, специализированных числовых данных (как «деньги»), а также специальных «темпоральных» данных (дата, время, временной интервал). В нашем примере данные трех типов: строки символов, целые числа и «деньги».
Домен. Допустимые значения атрибутов. Так домен для поля «Имя» определен на базовом типе строк символов, т.е. является множеством всех возможных имен (в частности, такие строки не могут начинаться с мягкого знака). Различные атрибуты могут быть определены на одном и том же домене – например, атрибуты «Год поступления» (в вуз) и «Год окончания» определены на одном и том же домене, являющемся перечнем дат определенного диапазона.
Атрибут. Столбцы таблицы, называемые полями БД, соответствуют атрибутам экземпляров объекта. Атрибут – столбец таблицы. Название столбца – имя атрибута.
Кортеж. Строки таблицы, представляющие собой различные сочетания значений полей из доменов, называются кортежами (в обиходе просто записями) БД и соответствуют экземплярам объектов предметной области.
Одна таблица представляет один объект и состоит из строк и столбцов. Каждая строка таблицы представляет собой одну запись, а каждый столбец – одно поле записи.
Ключевому атрибуту объекта, который идентифицирует (определяет, отличает от других) конкретный экземпляр объекта, в таблице соответствует ключевое поле (так называемый ключ таблицы).
В тех случаях, когда конкретную запись таблицы идентифицирует значение не одного поля, а совокупность значений нескольких полей, тогда все эти поля считаются ключевыми, а ключ таблицы является составным.
В некоторых таблица роль ключа могут играть сразу несколько полей или групп полей. Такие ключи называются потенциальными. В этих случаях один из ключей объявляется первичным.
Совокупность определенных для таблицы-отношения полей, их свойства (ключи) составляют схему таблицы-отношения.
Поскольку в отличие от иерархической и сетевой организации баз в реляционной БД отсутствует понятие ассоциативных связей между парами записей, приходится их специальным образом моделировать. Отношения-связи между экземплярами объектов устанавливаются через введение в таблицах дополнительных полей, которые дублируют ключевые поля связанной таблицы. Такие поля, дублирующие ключи связанной таблицы, называются внешними ключами (см. рис.53).
Рис.53 Пример связи в реляционных таблицах
В приведенных таблицах-отношениях связь осуществляется по ключевому полю таблицы Отделы (№ отдела) и внешнему полю таблицы Сотрудник (№ отдела).
Само слово реляционная происходит от английского relation – отношение. В случае реляционных баз «отношение» выражает не взаимосвязь между таблицами, а определение самой таблицы как математического отношения доменов.