Основы проектирования реляционных баз данных


Четвертая нормальная форма


Отношение находится в четвертой нормальной форме (4НФ), если оно находится в 3НФ или НФБК и все независимые многозначные ФЗ разнесены в отдельные отношения с одним и тем же ключом. Иными словами, 4НФ применяется при наличии в отношении более чем одной многозначной ФЗ и требует, чтобы отношение не содержало независимых многозначных ФЗ.

Пример. Приведение к 4НФ

Рассмотрим отношение, содержащее сведения о кораблях (Ship), совершаемых ими рейсах (Voyage) и капитанах (Captain) (задано таблицей 6.3). Отношение представлено в таблице ниже и на рис. 6.6.

Таблица 6.3. Отношение КАПИТАН_КОРАБЛЬ_РЕЙС

АкбарИвановСанкт-Петербург - Калининград
АкбарПетровСанкт-Петербург - Калининград
АкбарИвлевСанкт-Петербург - Калининград
АкбарПрохоровСанкт-Петербург - Калининград
АкбарЛазаревСанкт-Петербург- Лондон
АкбарПрохоровСанкт-Петербург- Лондон
ЖучкаПетровСанкт-Петербург - Марсель
ЖучкаФроловСанкт-Петербург - Стокгольм
ЖучкаИвлевСанкт-Петербург - Стокгольм


Рис. 6.6.  Отношение с многозначными зависимостями

Отношение находится в НФБК и содержит только многозначные ФЗ. Однако имеет место аномалия удаления: если капитан Петров уйдет в отставку и все кортежи о нем будут удалены, то будут потеряны сведения о том, что корабль Жучка совершает рейсы Санкт-Петербург - Марсель. Если добавить новый рейс, то, возможно, придется ввести несколько кортежей в наше отношение.

Приведение отношения к 4НФ заключается в выделении для каждой многозначной ФЗ своего отношения, как показано на рис. 6.7.


Рис. 6.7.  Отношение в 4НФ

Таким образом, процедура приведения отношения к 4НФ сводится к выполнению нескольких проекций, в данном случае двух проекций.



Содержание раздела