Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Технологии БД / Методичка Технологии БД (блоки 1-2).doc
Скачиваний:
82
Добавлен:
01.05.2014
Размер:
922.11 Кб
Скачать

Многозначные зависимости. Теорема Фейджина. Четвертая нормальная форма

Заметим, что последний вариант переменной отношения СЛУЖ_ПРО_ЗАДАНнаходится в BCNF, поскольку все атрибуты заголовка отношения входят в состав единственно возможного ключа. В этом отношении вообще отсутствуют нетривиальные FD. Поэтому ранее обсуждавшиеся принципы нормализации здесь неприменимы, но, тем не менее, мы получили полезную декомпозицию. Все дело в том, что в случае четвертого варианта отношенияСЛУЖ_ПРО_ЗАДАНмы имеем дело с новым видом зависимости, впервые обнаруженным Роном Фейджином в 1971 г. Фейджин назвал зависимости этого вида многозначными (multi-valued dependency – MVD). Как мы увидим немного позже, MVD является обобщением понятия FD.

В отношении СЛУЖ_ПРО_ЗАДАНвыполняются две MVD:СЛУ_НОМПРО_НОМиСЛУ_НОМСЛУ_ЗАДАН. Первая MVD означает, что каждому значению атрибутаСЛУ_НОМсоответствует определяемое только этим значением множество значений атрибутаПРО_НОМ. Другими словами, в результате вычисления алгебраического выражения

(СЛУЖ_ПРО_ЗАДАН WHERE (СЛУ_НОМ = сн AND СЛУ_ЗАДАН = сз)) PROJECT {ПРО_НОМ}

для фиксированного допустимого значения сни любого допустимого значениясзмы всегда получим одно и то же множество значений атрибутаПРО_НОМ. Аналогично трактуется вторая MVD.

В переменной отношенияrс атрибутамиA,B,C(в общем случае, составными) имеетсямногозначная зависимость BотA (AB)в том и только в том случае, когда множество значений атрибутаB, соответствующее паре значений атрибутовAиC, зависит от значенияAи не зависит от значенияC.

Многозначные зависимости обладают интересным свойством "двойственности", которое демонстрирует следующая лемма.

Лемма Фейджина

В отношении r {A, B, C}выполняется MVDABв том и только в том случае, когда выполняется MVDAC.

Таким образом, MVD ABиACвсегда составляют пару. Поэтому обычно их представляют вместе в формеA B | C.

FD является частным случаем MVD, когда множество значений зависимого атрибута обязательно состоит из одного элемента. Таким образом, если выполняется FD AB, то выполняется и MVDAB.

Мы видим, что отношения СЛУЖ_ПРО_НОМиСЛУЖ_ЗАДАНИЕне содержат MVD, отличных от FD, и именно в этом выигрывает декомпозиция из Рис. 23. Правомочность этой декомпозиции доказывается приведенной ниже теоремой Фейджина, которая является уточнением и обобщением теоремы Хеза.

Теорема Фейджина

Пусть имеется переменная отношения rс атрибутамиA,B,C(в общем случае, составными). Отношениеrдекомпозируется без потерь на проекции{A, B}и{A, C}тогда и только тогда, когда для него выполняется MVDA B | C.

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

Определение: Четвертая нормальная форма

Переменная отношенияrнаходится вчетвертой нормальной форме (4NF)в том и только в том случае, когда она находится в BCNF, и все MVDrявляются FD с детерминантами – возможными ключами отношенияr.

В сущности, 4NF является BCNF, в которой многозначные зависимости вырождаются в функциональные. Понятно, что отношение СЛУЖ_ПРО_ЗАДАНне находится в 4NF, поскольку детерминант MVDСЛУ_НОМПРО_НОМиСЛУ_НОМСЛУ_ЗАДАНне является возможным ключом, и эти MVD не являются функциональными. С другой стороны, отношенияСЛУЖ_ПРО_НОМиСЛУЖ_ЗАДАНИЕнаходятся в BCNF и не содержат MVD, отличных от FD с детерминантом – возможным ключом. Поэтому они находятся в 4NF.