Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Организация баз данных (Курс лекций).doc
Скачиваний:
2
Добавлен:
04.05.2019
Размер:
724.99 Кб
Скачать

4.5.3. Третья нормальная форма ( 3 нф)

Пример:

Отношение “Эксперимент”

R=

Шифр

Ш

Дата

D

Код

К

Испытатель

И

Р21

6 июня

31174

Иванов

Р21

7 июня

30046

Петров

П814

9 июня

31174

Иванов

Х

A

Y

Этому отношению назначены ФЗ-ти

F

К  И

И  К

= {

Допустим, мы хотим модифицировать это отношение:

СН( Эксперимент; Р21, 6 июня; Код=31035; Испытатель=Иванов)

Выполнение этой модификации приводит к нарушению объявленной ФЗ-ти И К.

Отношение “Эксперимент” находится во 2-ой НФ, так как ключ ШD - единственный, атрибуты Код и Исследователь являются непервичными и полностью зависят от ключа.

Для данной схемы отношения R подмножества Х (Х  R), атрибута А  R и множества ФЗ-тей F на R, атрибут А называется транзитивно зависимым от Х в R, если существует подмножество YR такое, что X  Y (функционально связано), YX (функционально не связано), и Y A относительно F, при этом AXY (не принадлежит ни X, ни Y).

Пример:

Отношение “Эксперимент”

F

ШD  КИ

К  И

И  К

= {

Атрибут И транзитивно зависит от ШD, так как (по аксиоме проективности).

Аналогично К будет транзитивно зависеть от ШD.

 Схема отношений R находится в 3-ей НФ относительно множества ФЗ-тей F, если она находится в 1-ой НФ и ни один из первичных атрибутов не является транзитивно зависимым от ключей в R.

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

Доказательство этого факта вытекает из того факта, что частичная зависимость определяет транзитивную зависимость

Пример:

Отношение “Эксперимент” в предыдущем примере заменим двумя отношениями, каждое из которых будет находиться в 3-ей НФ:

“Эксперимент” “Испытатель”

Код

Испытатель

31174

Иванов

30046

Петров

Шифр

Дата

Код

Р21

6 июня

31174

Р21

7 июня

30046

П814

9 июня

31174

Теперь ФЗ-ть Испытатель  Код не может быть нарушена при проведении модификации в отношении “Испытатель”.

4.5.4. Нормальная форма Бойса-Кодда (нфбк)

Пример:

Подсистема

П

Подпрограмма

S

Параметр

Р

А

SUB 1

P1

В

SUB 1

P1

В

SUB 2

P2

С

SUB 1

P1

F

ПS  P

P  S

= {

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.