Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
03_Пособие.doc
Скачиваний:
21
Добавлен:
01.05.2025
Размер:
2 Мб
Скачать
☆

4.2Соглашения об отношениях в реляционных системах

В нашем курсе мы будем рассматривать отношения, обладающие следующими свойствами:

  • в отношениях нет одинаковых кортежей;

  • кортежи не упорядочены;

  • атрибуты именованы (т.е. не обязательно упорядочены);

  • все значения атрибутов – атомарные.

Очень часто описанные ограничения на свойства отношений в конкретных языках СУБД нарушаются. Например, допускается, чтобы кортежи повторялись, вводится упорядоченность кортежей и атрибутов в кортеже. Возможны операции: перейти на первый кортеж, на следующий кортеж, прочитать атрибут № 5. Такие возможности обусловлены требованиями базового языка, а не реляционной модели, и их использование не рекомендуется.

Поясним последнее свойство отношений. Отношения, для которых это свойство не выполняется, называются ненормализованными. Будем считать, что атрибут является атомарным, если его невозможно разбить на более простые части, которые соответствуют каким-то параметрам объекта из предметной области.

Рассмотрим отношение, в котором хранятся сведения о сотрудниках. Среди атрибутов этого отношения есть атрибут дети_сотрудника. Этот атрибут представляет собой множество пар вида: (имя_ребенка, год_рождения). Данное отношение является типичным примером ненормализованного отношения.

Ненормализованное отношение «Сотрудники».

№

Фамилия

Должность

Оклад

Дети

1.

Иванов

Директор

10000

Оля 1990

Маша 1992

2.

Петров

Гл. инженер

9000

Сережа 1989

Катя 1991

Коля 1995

Легко заметить, что в ненормализованном отношении один из атрибутов (Дети) также является отношением. В общем случае ненормализованное отношение представляет собой иерархию вложенных друг в друга отношений. В классической реляционной модели оперируют только с нормализованными отношениями. Существуют алгоритмы нормализации отношений. При применении этих алгоритмов из ненормализованного отношения будет построено эквивалентное ему нормализованное отношения, которое называют отношением в «Первой Нормальной Форме» (1НФ). Алгоритмы нормализации будут рассмотрены ниже. Для нашего примера приведем отношение «Сотрудники» в форме 1НФ, полученное из ненормализованного отношения.

 Нормализованное отношение «Сотрудники»

№

Фамилия

Должность

Оклад

Имя

Год рождения

1

Иванов

Директор

10000

Оля

1990

1.

Иванов

Директор

10000

Маша

1992

2.

Петров

Гл. инженер

9000

Сережа

1989

2.

Петров

Гл. инженер

9000

Катя

1991

2.

Петров

Гл. инженер

9000

Коля

1995

В нормализованном отношении в качестве ключа можно взять конкатинацию номера сотрудника (№) и имени его ребенка (Имя). В данном случае мы предполагаем маловероятным тот факт, что родители могут дать двум своим детям одно и тоже имя. Это соглашение входит в наше представление о предметной области и существенно упрощает нам выбор ключа. В действительности известен факт отклонения от такого представления. Артист Московского Художественного Театра Авангард Леонтьев, родившийся после окончания Великой Отечественной Войны, был назван также как и его родной брат, погибший на этой войне. Этот «исключение» из нашего представления подтверждает, что полученные с помощью реляционной теории конструкции существенно опираются на представления пользователей об устройстве предметной области.