Фундаментальным понятием реляционной модели данных является понятие отношения. Кодд доказал, что любое представление данных может быть сведено к совокупности двумерных таблиц особого вида – отношений (relation).
Формально, отношение определяется как подмножество декартового произведения образующих его множеств (доменов):
RD1 x D2 x … x Dn, где Di - i-ый домен отношения.
Таким образом, отношение представляет собой множество кортежей (n-ок) вида (a1, a2, …, an), где каждый ai Î Di. Дадим еще несколько определений.
Определение 1. Атрибут отношения есть пара вида <Имя_атрибута : Имя_домена>.
Имена атрибутов должны быть уникальны в пределах отношения.
Определение 2. Отношение R, определенное на множестве доменов D1, D2 …Dn (не обязательно различных), содержит две части: заголовок и тело.
Заголовок отношения (или схема отношения) содержит фиксированное количество атрибутов отношения:
Тело отношения содержит множество кортежей отношения. Каждый кортеж отношения представляет собой множество троек вида <Имя_атрибута : Тип_атрибута:Значение_атрибута>:
(<A1:T1:Val1>, A2:T2:Val2>,…,<An:Tn:Valn>)
Отношение обычно записывается в виде:
,
или короче
.
Полем называется значение атрибута в кортеже отношения.
Важно иметь в виду, что каждый атрибут может быть определен только на одном домене, однако разные атрибуты могут быть определены на одном и том же домене. Напр., домен дата может определять несколько атрибутов: дата рождения, дата окончания школы и т.д.
Число атрибутов в отношении называют степенью(или -арностью) отношения. Мощность множества кортежей отношения называют мощностьюотношения.
Кортежи отношения обладают следующими свойствами:
· Каждый кортеж содержит точно одно значение (соответствующего типа) для каждого из своих атрибутов.
· Компоненты кортежа не упорядочены. Это свойство следует из того, что понятие кортежа определено на основании множества компонентов, а в математике элементы множества не упорядочены.
· Каждое подмножество кортежа представляет собой кортеж (а каждое подмножество заголовка является заголовком).
Пример 1. Отношение "Сотрудники" задано на доменах: "Номер_сотрудника", "Фамилия", "Зарплата", "Номер_отдела".
Заголовок отношения Сотрудники (Номер_сотрудника, Фамилия, Зарплата, Номер_отдела)
Представление отношения в в виде таблицы приведено на рис. 3.1.