Нормальная форма Бойса-Кодда (НФБК)

Пример:

Подсистема П Подпрограмма S Параметр Р
А SUB 1 P1
В SUB 1 P1
В SUB 2 P2
С SUB 1 P1

ПS ® P P ® S
F = {

1) В подсистеме каждая подпрограмма вычисляет только один параметр;

2) Каждый параметр вычисляется только одной подпрограммой.

 

Данное отношение находится в 3-ей НФ , так как в нем отсутствуют непервичные атрибуты.

Ключи = { ПS, ПP }

Можно выявить следующие особенности этого отношения:

- имеется избыточность информации из-за дублирования пар S и P;

- кроме того, имеется такая аномалия, что нельзя записать информацию о параметре, вычисляемом в некоторой подсистеме, если пока неизвестна подпрограмма, которая вычисляет этот параметр.

Таким образом, 3 НФ может обладать подобными нежелательными свойствами. Чтобы избавиться от них, необходимо использовать так называемую нормальную форму Бойса-Кодда.

· Схема отношений R находится в нормальной форме Бойса-Кодда (НФБК) относительно множества ФЗ-тей F, если она находится в 1-ой НФ и всякий раз, когда в F+ имеет место зависимость Х®А, где А¢Ï Х и Х включает в себя некоторый ключ отношения R.

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

В рассмотренном примере имеется нетривиальная зависимость P®S и в то же время Р не является ключом.

Теорема: Любая схема отношения, находящаяся в НФБК относительно F, находится и во в 3-ей НФ.

Пример:

Приведение к НФБК превращает одно отношение в два.

Первое ПР с ключом {ПР}, второе SP с ключом Р.

Подпрограмма S Параметр Р
SUB 1 P1
SUB 2 P2

 

Подсистема

П

Параметр Р
А P1
В P1
В P2
НФБК
С

P1

Проблемы НФБК:

· Схема БД находится в некоторой НФ, если каждое отношение этой БД находится в этой НФ.

Справедливо, что при заданном множестве ФЗ-тей, приписанных схеме БД, над схемой можно произвести преобразование, приводящее ее в 3-ю НФ. Эта форма полностью характеризует ФЗ-ти. Все соединения отношений осуществляется без потери информации.

Для НФБК подобное утверждение уже неверно, так как не всегда можно найти схему БД, полностью характеризующую множество ФЗ-тей F.