Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Управление данными (пособие).pdf
Скачиваний:
280
Добавлен:
21.05.2015
Размер:
5.42 Mб
Скачать

138

Отношение R{А, В, С}, удовлетворяющее функциональным зависимостям АВ, следует разбивать на проекции {А, В} и {А, С}.

То же самое можно утверждать и для многозначных зависимостей АВ, то есть

Отношение R{А, В, С}, удовлетворяющее многозначным зависимостям АВ|С, следует разбивать на проекции {А, В} и {А, С}.

10.8.Зависимости соединения и пятая нормальная форма

Впредыдущих разделах, посвященных вопросам нормализации отношений, рассматриваются случаи, когда единственно необходимой и допустимой операцией для устранения имеющих место в отношениях проблем является декомпозиция без потерь отношения на две его проекции. Такая декомпозиция решала проблемы, связанные с наличием в отношении многозначной зависимости и ее частного случая – функциональной зависимости и на такой декомпозиции основывается последовательная нормализация отношений от первой нормальной формы до четвертой.

Однако, возможны случаи, когда устранение в отношении аномалий не может быть достигнуто путем декомпозиции отношения на две его проекции без потерь, в то время как декомпозиция его на три и более проекций обеспечивает отсутствие потерь информации и устранение аномалий. Другими словами, для некоторых отношений возможна декомпозиция без потерь на n проекций, а на меньшее число проекций декомпозиция без потерь невозможна.

Рассмотрим в качестве примера отношение, имеющее следующий набор

атрибутов {СТУДЕНТ, ДИСЦИПЛИНА, ПРЕПОДАВАТЕЛЬ}.

СТУД_ДИСЦ_ПРЕП

СТУДЕНТ

ДИСЦИПЛИНА

ПРЕПОДАВАТЕЛЬ

Иванов

Физика

Кузнецов

Иванов

Математика

Степанов

Петров

Физика

Степанов

Иванов

Физика

Степанов

Рис.10.25. Отношение СТУД_ДИСЦ_ПРЕП

139

В этом отношении представлена информация о студентах, изучающих конкретные дисциплины у конкретных преподавателей. Для удобства представим это отношение в более компактной форме

СДП

С

Д

П

И

Ф

К

И

М

С

П

Ф

С

И

Ф

С

Рис.10.26. Компактная форма отношения СТУД_ДИСЦ_ПРЕП

Ключом отношения СДП является составной атрибут {С, Д, П}, то есть весь кортеж отношения. Это отношение не содержит нетривиальных функциональных и многозначных зависимостей и поэтому полностью удовлетворяет требованиям четвертой нормальной формы. Кроме этого, допустим, что на это отношение еще наложено следующее ограничение целостности.

Если в каких-либо кортежах отношения имеется пара значений атрибутов С1,Д1, а также пара Д1,П1, и пара П1,С1, то в отношении обязательно должен присутствовать кортеж {С1, Д1, П1}.

Это ограничение можно представить еще иначе следующим образом.

Если в отношении присутствуют кортежи {С1, Д1, П2}, {С2, Д1, П1} и {С1, Д2, П1}, то в нем обязательно также должен быть кортеж вида {С1,

Д1, П1}.

Такого вида ограничение называют циклическим или -ограничением. Если вернуться к полной записи отношения СДП, представленной на

рис.10.26, то циклическое ограничение означает, что, если в рассматриваемой предметной области имеют место следующие три факта:

студент Иванов изучает Физику;

преподаватель Степанов преподает Физику;

преподаватель Степанов обучает студента Иванова, то является истинным и следующий факт:

преподаватель Степанов преподает Физику студенту Иванову.

При этом, вообще говоря, Степанову не запрещено преподавать другие дисциплины, а студенту Иванову изучать другие дисциплины.

Можно заметить, что следствием рассматриваемого циклического или

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

140

Необходимость обеспечения выполнения данного ограничения, очевидно, приводит к появлению проблем при операциях обновления данных INSERT, DELETE и UPDATE. Каждая из этих операций, из-за необходимости выполнения требований -ограничения, может затрагивать не один, а большее число кортежей.

Например, если в отношение

СДП

С

Д

П

И

Ф

К

И

М

С

вставить кортеж {П, Ф, С}, то также должен быть вставлен и кортеж {И, Ф, С}, так как к уже имеющимся в отношении парам (И, Ф) и (И, С) добавляется третья пара (Ф, С).

Еще пример. Пусть из отношения

СДП

С

Д

П

И

Ф

К

И

М

С

П

Ф

С

И

Ф

С

требуется удалить кортеж {П,Ф,С}. Этот кортеж содержит пары значений (П,Ф), (Ф,С) и (П,С). В оставшихся после удаления кортежах отсутствует дубликат пары (П,Ф), следовательно удаляемый кортеж не выводится из остающихся, его удаление не нарушит требования -ограничения.

Если же требуется удалить кортеж {И,Ф,С}, то для каждой его пары (И,Ф), (Ф,С) и (П,С) имеются двойники в других кортежах, следовательно, для того, чтобы требования -ограничения не нарушились, вместе с кортежем {И,Ф,С}должен быть удален и какой-либо из кортежей с парой-двойником. Возникает только вопрос, какой из трех кортежей должен быть также удален.

Указанные проблемы операций обновления, обусловленные наличием - ограничения, могут быть решены путем замены рассматриваемого отношения СДП (рис.10.25, 10.26) тремя его бинарными проекциями СД, ДП и ПС, как это показано на рис. 10.27.

141

СД

 

 

ДП

 

 

ПС

 

С

Д

 

Д

П

 

П

С

И

Ф

 

Ф

К

 

К

И

И

М

 

М

С

 

С

И

П

Ф

 

Ф

С

 

С

П

Рис.10.27. Декомпозиция отношения СТУД_ДИСЦ_ПРЕП (СДП)

Возникает вопрос, почему необходима декомпозиция на три, а не на два отношения. Можно, однако, увидеть, что соединение любых двух из этих отношений не обеспечивает восстановления исходного отношения. Например, результатом соединения отношений СД и ДП по атрибуту Д будет отношение

СД-ДП

 

 

 

С

Д

П

 

И

Ф

К

 

И

Ф

С

 

И

М

С

 

П

Ф

К

← лишний кортеж

П

Ф

С

 

Рис.10.28. Соединение отношений СД и ДП

Видно, что это отношение не совпадает с исходным отношением СДП (рис.10.26). В нем имеется лишний кортеж {П, Ф, К}, которого не было в отношении СДП. Если же еще выполнить соединение этого отношения СД-ДП (рис.10.28) с третьим отношением ПС (рис.10.27) по атрибутам П и С, то нетрудно увидеть, что лишний кортеж будет исключен и исходное отношение СДП будет полностью восстановлено.

Поскольку рассматриваемое -ограничение удовлетворяется тогда и только тогда, когда отношение равносильно соединению трех его проекций,

такое ограничение еще называют зависимостью соединения (или зависимостью проекции-соединения).

Зависимость соединения (join dependency) является таким же семантическим ограничением данного отношения, как многозначная и функциональная зависимости. Определение зависимости соединения имеет следующий вид.

Пусть R является отношением, а А, В, …, Z – произвольным подмножеством множества атрибутов отношения R. Отношение R удовлетворяет зависимости соединения *(А, В, …, Z) тогда и только тогда, когда оно равносильно соединению своих проекций с подмножествами атрибутов А, В, …, Z.

142

Таким образом, для рассматриваемого в этом разделе отношения СДП (рис.10.26) можно записать, что оно удовлетворяет зависимости соединения *(СД, ДП, ПС) и для устранения аномалий операций обновления может быть представлено своими тремя проекциями {С, Д}, {Д, П} и {П, С}.

Сравним приведенные определения зависимости соединения с рассмотренной выше теоремой Фейгина. Напомним ее:

Отношение R{А, В, С} может быть декомпозировано без потерь на проекции с атрибутами {А, В} и {А, С} тогда и только тогда, когда для отношения R выполняются многозначные зависимости АВ (и АС).

Можно видеть, что фактически многозначная зависимость АВ эквивалентна (является частным случаем) зависимости соединения *(АВ, АС).

Другими словами, зависимость соединения является обобщением

многозначной зависимости, так же, как ранее многозначная зависимость оказалась обобщением функциональной зависимости. И, наоборот,

многозначная зависимость является частным случаем зависимости соединения, а функциональная зависимость – частным случаем многозначной зависимости.

Таким образом, мы выяснили, что отношение может находиться в четвертой нормальной форме, но, тем не менее, у него могут быть проблемы операций обновления, связанные с наличием в нем зависимости соединения, не являющейся многозначной зависимостью (в четвертой нормальной форме многозначные зависимости отсутствуют). Эти проблемы могут быть решены путем декомпозиции отношения на три или большее число его проекций. Тем самым отношение приводится к, так называемой, пятой нормальной форме. Дадим ее определение.

Определение пятой нормальной формы.

Отношение R находится в пятой нормальной форме (5НФ), которая также называется проекционно-соединительной нормальной формой,

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

Другими словами, в отношении присутствуют только функциональные зависимости атрибутов от потенциальных ключей.

Пятая нормальная форма является окончательной нормальной формой по отношению к операциям проекции и соединения.