Скачиваний:
50
Добавлен:
10.05.2015
Размер:
79.36 Кб
Скачать

3.5 НФБК. Алгоритм декомпозиции отношений в НФКБ (Нормальная форма Бойса-Кодда)

Если отношение находиться в 3НФ, то в некоторых случаях у этих отношений могут быть аномалии обновления. Эта ситуация относится к редким случаям, когда отношение имеет несколько возможных сложных ключей (т.е состоящих из нескольких атрибутов) и часто эти ключи содержат общие атрибуты. Проблемы решает усиленная 3НФ или нормальная форма Бойса-Кодда.

3.5.1 НФБК (определение) отношение находиться в НФБК, если и только если каждый детерминант отношения является возможным ключом.

1.Возможный ключ. (термин)

Возможный ключ представляет собой атрибут или набор атрибутов, который может быть использован для данного отношения в качестве первичного ( основного) ключа. Однако не исключено наличие других возможных ключей, которые могли бы быть, но не были использованы в качестве первичного ключа.

2. Детерминант (термин)

Если А->В есть функциональная зависимость и В не зависит функционально от любого подмножества А, то говорят что А представляет собой детерминант.

R…. до 1 (?)

3.5.2 Алгоритм проектирования отношений находящихся в НФБК.

Пусть заданно отношение R (А, В, С, D, Е) с набором функциональных зависимостей F.

  1. Выделим в наборе ФЗ F, присущих отношению R, ФЗ имеющие детерминанты не являются возможным ключом.

  2. Создадим два новых отношения R1 и R2 таким образом:

Если R (А, В, С, D, Е) исходное отношение и С->D выделенная ФЗ, то схема R1 будет иметь вид : R1 (A,B,C,E) и схема R2 будет иметь вид: R2 (C,D).

R2 находится в НФКБ и называется проекцией R

  1. Проверим находиться ли в НФБК отношение R1

  2. Если да, то декомпозиция заканчивается, если нет, то возвращаемся к шагу 1, и анализируем отношение R1.

Пример 1 на применение алгоритма проектирования отношений, находящихся в НФБК.

A

B

E

C

D

служащий

(номер_служ,

фамилия,

зарплата,

номер_проекта,

дата_оконч)

Функциональные зависимости F:

{номер_служ → фамилия

номер_служ → зарплата

номер_служ → номер_проекта

номер_служ → дата_оконч

номер_проекта → дата_оконч}

номер_служ – возможный ключ

Выделим номер_проекта → дата_оконч

R2 (номер_проекта, дата_оконч)

R1 (номер_служ, фамилия, зарплата, номер_проекта)

Пример 2.

R (А, В, С, D, Е)

F={

}

Т.е. B->C

B->D

По правилам вывода ФЗ B->СD

и R2 (B,C,D)

a R1 (A,B,E)

В этом примере мы использовали правило вывода ФЗ. Этих правил всего 6.

Три основных – их называют правилами Армстронга, и 3 дополнительных.

Соседние файлы в папке Дополнительные лекции