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

3.4. 3-Я нормальная форма (3нф).

Определение 3НФ: отношение находится в 3НФ если оно находится во 2НФ и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.

Следующий шаг нормализации – это 3 нормальная форма отношений.

На этом шаге отношекние во 2НФ преобразуется в 3НФ путем ликвидации транзитивной зависимости.

Транзитивная зависимость.

Пусть А, В, С – три атрибута или три набора атрибутов отношения R.

Зависимости между ними изобразим на диаграмме.

Если А → В и В → С В !→ А (В не является ключом), то А → С. В этом случае С транзитивно зависит от А. Преобразование в 3НФ состоит в декомпозиции исходного отношения на 2.

R1

R2

Пусть имеется отношение служащий (номер_служ, фамилия, зарплата, номер_проекта, дата_оконч).

Аномалии отношения служащий.

  1. Включения. До момента привлечения конкретгого служащего к конкретной работе над данным проектом дату окончания проекта записывать некуда.

  2. Удаления. Если проект был приостановлен для привлечения новых сотрудников, т.е. все кортежи были удалены, то в базе уничтожены все записи с датой окончания проекта.

  3. Модификации. Изменение даты окончания проекта ведет к необходимости поиска всех кортежей содержащих данную дату и их модификация.

Разложим отношение на 2:

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

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

Мы получим отношение в 3НФ. Аномалии уже не будет в R1 иR2.

    1. Нормальная форма Бойса-Кодда.

Алгоритм декомпозиции отношений в НФБК.

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

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

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

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

  2. Детерминант (термин). Если А → В есть функциональная зависимость и В не зависит функционально от любого подмножества А, то говорят, что А представляет собой детерминант R.

3.5.2. Алгоритм проектирования отношений, находящихся в нфбк.

Пусть задано отношение R(A,B,C,D,E) с набором функциональных зависимостейF.

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

  2. Создадим 2 новых отношения R1 иR2 таким образом: ЕслиR(A,B,C,D,E) исходное отношение иC→Dвыделенная функциональная зависимость, то схемаR1 будет иметь вид:R1 (A,B,C,E) и схемаR2 будет иметь вид:R2 (C,D).R2 находится в НФБК и называется проекциейR.

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

  4. Если да, то декомпозиция заканчивается, если нет, то возвращается к 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 дополнительных.

Соседние файлы в папке Лекции по Базам данных - версия 9.01.10