Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции БД.doc
Скачиваний:
34
Добавлен:
23.09.2019
Размер:
1.93 Mб
Скачать

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

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

Пример

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

проект (Деталь, Номер проекта, Поставщик)

с функциональной зависимостью

Деталь, Номер проекта Поставщик

Но из второго ограничения следует и вторая функциональная зависимость:

Поставщик Номер проекта

Отношение находится в 3НФ, но для него есть аномалии модификации.

Аномалия включения: поставка не попадает в БД до использования детали в проекте.

Аномалия удаления: последний из типов детали данного поставщика использован – поставщик исчез.

Аномалия обновления: меняется поставщик – нужен просмотр всей базы.

Преобразование:

проект_деталь (Деталь, Номер проекта)

поставки (Поставщик, Номер проекта, Деталь)

Конец примера

4 Нормальная форма (4нф)

Определение. A многозначно определяет B в R (или B многозначно зависит от A), если каждому значению A соответствует множество (возможно, пустое) значений B, не зависимых от других атрибутов из R. Обозначение: AB.

Пример

Задано отношение преподаватель(Ид-преп, Дети, Курсы, Должность), которое связывает уникальный идентификатор (код) преподавателя с его семейными обстоятельствами (наличием детей) и служебным положением (читаемые курсы). Будем считать, что атрибуты Ид-преп и Дети находятся в отношении 1:M, а Ид-преп и Курсы – в отношении M:N. Здесь наличие детей и читаемые курсы – независимые атрибуты, то есть присутствуют многозначные зависимости Ид-преп  Дети и Ид-преп  Курсы.

Конец примера

Определение. Отношение находится в 4НФ, если в нем отсутствует нефункциональные многозначные зависимости. Другое определение – для любой нетривиальной зависимости XY множество атрибутов X содержит ключ).

Пример

Зависимость между преподавателем, детьми и курсами из предыдущего примера приводит к тому, что при появлении нового ребенка приходится добавлять столько кортежей, сколько курсов читает этот преподаватель, а при добавлении курса следует добавить столько кортежей, сколько у преподавателя детей.

Преобразование:

R1(Ид-преп, Дети)

R2(Ид-преп, Курсы)

R3(Ид-преп, Должность)

Конец примера

5 Нормальная форма (5нф) – проекция/соединение

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

Зависимость по соединению отражает тот факт, что отношение может быть восстановлено без потерь соединением некоторых его проекций.

Пример

R1

(A,

B,

C)

a1

b1

c1

a1

b1

c2

a2

b1

c1

a2

b1

c2

a3

b1

c1

a3

b1

c2

a3

b2

c1

a3

b2

c2

Отношение находится в 4НФ: нет многозначных зависимостей, но здесь есть явная избыточность. Следующее преобразование переводит его в 5НФ. Возможность восстановления очевидна.

R2

(A,

B)

a1

b1

a2

b1

a3

b1

a3

b2

R3

(B,

C)

b1

c1

b1

c2

b2

c1

b2

c2



Конец примера