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