Определение
Определение
Определение
Пусть дана совокупность множеств D1, D2, …, Dn, не обязательно различных.
Тогда отношение R, определенное на этих множествах, есть множество упорядоченных кортежей
<d1, d2, …, dn> таких, что di ∈ Di для каждого i из [1:n].
В реляционной модели данных множества Di представляют собой домены.
Пример: даны два домена D1 = {a, b, c} и D2 = {1, 2}. Отношением, построенным на данных доменах, может быть R1 = {<a, 2>, <c, 1>}. Другое отношение, построенное на этих же доменах:
R2 = {<a, 2>, <b, 2>, <a, 1>}.
Свойства отношения:
• кортежи отношения не упорядочены,
• домены внутри кортежей упорядочены.
Атрибуты задают способ использования домена внутри отношения.
В связи с введением понятия атрибута в реляционной модели данных вводится понятие схемы отношения:
Схема отношения – это именованная совокупность пар <имя атрибута: имя домена>.
Схема отношения представляет собой интенсионал отношения.
Рассмотрим пример. Пусть даны два домена: ЧИСЛО и СТРОКА. В отношении ОТДЕЛ домен ЧИСЛО используется для задания номера отдела – вводим атрибут Номер отдела, а домен СТРОКА используется для задания названия отдела – атрибут Название. Тогда отношению ОТДЕЛ соответствует следующая схема отношения:
|
|
ОТДЕЛ (Номер отдела: ЧИСЛО, Название: СТРОКА)
В реляционной модели данных, как упоминалось выше, может существовать составной домен. В соответствии со своим определением, составной домен представляет собой отношение, построенное также на простых доменах. Но в таком отношении не появляются атрибуты. Вернемся к домену ИСТОРИЯ ЗАРПЛАТЫ. Он построен на простых доменах ГОД и ДЕНЬГИ и может быть задан следующим образом:
ИСТОРИЯ ЗАРПЛАТЫ (ГОД, ДЕНЬГИ)
В задании схемы отношения могут использоваться и составные домены. Рассмотрим отношение СОТРУДНИК. Его атрибутами могут быть Номер сотрудника (определен на домене ЧИСЛО), Имя (на домене СТРОКА) и Зарплата, определенный на домене ИСТОРИЯ ЗАРПЛАТЫ:
СОТРУДНИК (Номер сотрудника: ЧИСЛО, Имя: СТРОКА, Зарплата: ИСТОРИЯ ЗАРПЛАТЫ)
Конкретная реализация (экстенсионал) данного отношения может иметь следующий вид (Рис. 4.1):
Номер сотрудника | Имя | Зарплата |
Иванов | 1985, 500 2000, 1000 | |
Петров | 1985, 850 2000, 500 2003, 1000 |
Рис. 4.1. Пример представления отношения СОТРУДНИК
Основополагающее требование реляционной модели данных: все отношения должны быть нормализованными.
Нормализованное отношение – это отношение, в котором каждое значение атрибутов является атомарным.
В соответствии с данным определением приведенный пример (Рис. 4.1) представляет ненормализованное отношение, которое не допускается в реляционной модели данных.
|
|
Ненормализованные отношения очень легко преобразовать в нормализованные. Для этого в схеме отношения составной домен заменяется составляющими его простыми доменами, а в реализации отношения значения атрибутов, определенных на других доменах, повторяются для каждого кортежа составного домена. Так, нормализация приведенного выше отношения даст следующее – нормализованное – отношение (Рис. 4.2):
Номер сотрудника | Имя | Зарплата |
Иванов | 1985, 500 | |
Иванов | 2000, 1000 | |
Петров | 1985, 850 | |
Петров | 2000, 500 | |
Петров | 2003, 1000 |
Рис. 4.2. Нормализованное отношение СОТРУДНИК
Свойства отношения реляционной модели данных:
1. Каждый атрибут отношения имеет уникальное в данном отношении имя.
2. Каждый атрибут определен на каком-то одном домене.
3. На одном и том же домене может быть определено несколько атрибутов.
4. Имя атрибута может совпадать с именем домена.
5. Порядок следования атрибутов не устанавливается (атрибуты в определении схемы отношения не упорядочены).
6. В отношении нет совпадающих кортежей (каждый кортеж уникален).
7. Порядок следования кортежей не устанавливается (кортежи в отношении не упорядочены).
8. Отношение имеет имя, которое в схеме базы данных отличается от имен всех других отношений.
Примечание: часто в качестве доменов используются интуитивно понятные множества – например, в предыдущем примере интуитивно ясно, что Номер отдела – это число, а Название – это строка. В соответствии с этим в схеме отношения часто опускается указание имени домена:
ОТДЕЛ (Номер отдела, Название)
В реляционной модели данных отношение представляет собой единственный структурный компонент, используемый и для представления сущности, и для представления связи.
Представление сущности
Представление сущности означает возможность уникальной идентификации каждого отдельного кортежа отношения по значениям его атрибутов. Так как в отношении нет дубликатов кортежей, каждый кортеж уникален и может быть идентифицирован значениями всех своих атрибутов. Тем не менее, как правило, в кортежах можно выделить некоторое подмножество атрибутов, значения которых уникальны для всех реализаций отношения – настоящих, бывших в прошлом и будущих. Такие подмножества атрибутов представляют собой ключи.