Пусть имеется отношение ПРОЕКТ с атрибутами НОМЕР СОТРУДНИКА, НОМЕР ПРОЕКТА, НОМЕР ЗАДАНИЯ.
Предметная область такова, что для каждого проекта определен конечный список выполняющих его сотрудников и конечный список заданий, предусматриваемых проектом. Сотрудники могут участвовать в нескольких проектах. Разные проекты могут включать в себя одинаковые задания. Если в проекте появляется новое задание, то в его выполнении участвуют все сотрудники, работающие над этим проектом. Если в список исполнителей проекта включается новый сотрудник, то ему предписывается выполнение всех заданий, предусмотренных проектом.
Исходя из описания предметной области, первичный ключ этого отношения является составным и состоит из всех атрибутов этого отношения:
Проект.(Номер проекта + Номер сотрудника + Номер задания)
В отношении нет никаких других детерминантов. Следовательно, отношение ПРОЕКТ находится в НФБК. Однако в соответствии с семантикой предметной области в отношении ПРОЕКТ имеются две многозначные зависимости:
|
|
Проект.Номер проекта ®® Проект.Номер сотрудника
Проект.Номер проекта ®® Проект.Номер задания
Наличие в одном отношении двух многозначных зависимостей существенно осложняет выполнение основных операций над данными (вставка, замена, удаление) для этого отношения.
Отношение R находится в четвертой нормальной форме (4НФ) в том и только в том случае, если в случае существования многозначной зависимости атрибута B от атрибута A (R.A ®® R.B) все остальные атрибуты этого отношения функционально полно зависят от A.
Таким образом, исходя из определения отношение ПРОЕКТ не находится в 4НФ. Другими словами, для того чтобы отношение удовлетворяло условию 4НФ необходимо, чтобы между атрибутами этого отношения существовала не более чем одна многозначная зависимость.
Нормализация отношения ПРОЕКТ основывается на теореме Фейджина и заключается в его декомпозиции на два отношения:
Проект1 (Номер проекта, Номер сотрудника)
Проект2 (Номер проекта, Номер задания)
Оба этих отношения находятся в четвертой нормальной форме.