Глава 2 Модели данных

2.2 Реляционная модель данных

Основные понятия реляционной модели данных

Ограничения целостности

Свойства отношений

Вопросы для самоконтроля

Основные понятия реляционной модели данных

Реляционная модель данных (первая абстрактная модель данных) была предложена в начале 70-х годов известным специалистом в области управления данными Э.Ф. Коддом и основывалась на положениях теории множеств и логики предикатов, за что в 1981 г. он был удостоен премии Тьюринга Американской ассоциации по вычислительной технике. Иногда реляционную модель данных называют моделью Кодда.

Тип данных. Понятие типа данных в реляционной модели аналогично понятию типа данных в языках программирования. Как вы уже знаете, обычный стандартный набор типов данных - символьный, числовой, вещественный и т.п. Иногда допускается денежный тип данных или возможны другие модификации.

Домен. Под доменом понимется множество допустимых значений некоторого типа данных, или тип данных плюс логические ограничения.

Например, домен "Возраст сотрудника" скорее всего будет иметь целочисленный тип, однако значение 7 будет некорректным, поскольку минимально возможный возраст приема на работу составляет 14 лет. Таким образом, к домену "Возраст сотрудника" будет относиться множество чисел, лежащих в пределах от 14 до 70 лет. Ананлогично, к домену "Фамилия" будут относиться строки, например, не начинающиеся со знаков "ь" или "Ъ", не содержащие цифр и т.п.

Следует отметить также семантическую нагрузку понятия домена: данные считаются сравнимыми только в том случае, когда они относятся к одному домену.

Например значения доменов "Номера пропусков" и "Номера групп" относятся к типу целых чисел, но не являются сравнимыми. Однако, справедливости ради, следует также отметить, что далеко не все современные СУБД, опирающиеся на реляционную модель данных, поддерживают понятие домена в том, смысле, который он имеет в модели Кодда. Зачастую понятие "домен" подменяется просто типом данных.

Отношение. Дадим формальное определение понятия "отношение".

Отношение R, определенное на множестве доменов D1, D2, ..,Dn (не обязательно различных), содержит две части: заголовок и тело.

Заголовок содержит фиксированное множество пар <имя-атрибута : имя-домена>:

{< A1:D1>, < A2:D2>, .., < An:Dn>},

причем каждый атрибут Aj соответствует одному и только одному из лежащих в основе доменов Dj (j=1,2,..,n). Все имена атрибутов А1, А2, .., An разные.

Тело содержит множество кортежей. Каждый кортеж, в свою очередь, содержит множество пар <имя-атрибута : значение-атрибута>:

{< A1:Vi,1>, < A2:Vi,2>, .., < An:Vi,n>},

где i=1,2,..,m; m - количество кортежей в этом множестве.

В каждом таком кортеже есть одна такая пара <имя-атрибута : значение-атрибута>, т.е. <Aj:Vi,j>, для каждого атрибута Aj в заголовке.

Для любой такой пары < Aj:Vi,j> Vi,j является значением из уникального домена Dj, который связан с атрибутом Aj.

Значения m и n называются соответственно кардинальным числом и степенью отношения.

Схема отношения - это именованное множество пар <имя-атрибута : имя-домена>, или, другими словами, это заголовок отношения.

Если все атрибуты одного отношения определены на разных доменах, осмысленно использовать для именования атрибутов имена соответствующих доменов (не забывая, конечно, о том, что это является всего лишь удобным способом именования и не устраняет различия между понятиями домена и атрибута). Схема БД (в структурном смысле) - это набор именованных схем отношений.

Кортеж-отношение. Кортеж, соответствующий данной схеме отношения, - это множество пар <имя-атрибута : значение-атрибута>, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. "Значение" является допустимым значением домена данного атрибута.
Содержание Следующая страница