Третья нормальная форма

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

Если в отношении R1 транзитивные зависимости отсутствуют, то в отношении R2 они есть:

ФИО→Должность→Оклад,

ФИО→Оклад→Должность,

ФИО→Стаж→Д_Стаж

Для устранения транзитивных зависимостей используем операцию проекции на атрибуты, являющиеся причиной транзитивных зависимостей: преобразуем отношение R2, получив при этом отношения R3, R4 и R5, каждое из которых находится в ЗНФ (рис. 3).

R3

ФИО Должность Стаж Д_Стаж Кафедра
Иванов И. М. Преподаватель
Иванов И. М. Преподаватель
Петров М. И. Ст. преподаватель
Петров М. И. Ст. преподаватель
Сидоров Н. Г. Преподаватель
Сидоров Н. Г. Преподаватель
Егоров В. В. Преподаватель

 

Должность Оклад
Преподаватель
Преподаватель
Ст. преподаватель
Ст. преподаватель
Преподаватель
Преподаватель
Преподаватель

R4

Стаж Д_Стаж

R5

На практике построение ЗНФ схем отношений в большинстве случаев является достаточным и приведением к ним процесс проектирования реляционной БД заканчивается. Действительно, приведение отношений к ЗНФ в нашем примере привело к устранению избыточного дублирования. В результате нормализации получим БД, состоящую из следующих таблиц: Rl, R3, R4, R5. В полученной БД имеет место необходимое дублирование данных, но отсутствует избыточное.

Итак, процесс нормализации отношений методом нормальных форм предполагает:

· атомарность (простоту) атрибутов (1НФ);

· удаление частичных зависимостей неключевых атрибутов от ключа (2НФ);

· удаление транзитивных зависимостей не ключевых атрибутов от ключа (ЗНФ);

Домашнее задание: Даны следующие атрибуты. Привести к 3 НФ.

Платная поликлиника.

Врачи (КодВрача, Фамилия, Имя, Отчество, Специальность, Категория)

Больные(КодБольного, Фамилия, имя, Отчество, ГодРождения)

Обращения (КодВрача, КодБольного, ДатаОбращения, Диагноз, СтоимостьЛечения)