Отношение находится в 3НФ, если оно находится в 2НФ и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.
Если в отношении R1 транзитивные зависимости отсутствуют, то в отношении R2 они есть:
ФИО→Долж→Оклад,
ФИО→Оклад→Должн,
ФИО→Стаж→Д_Стаж
Транзитивные зависимости также порождают избыточное дублирование информации в отношении. Устраним их. Для этого используя операцию проекции на атрибуты, являющиеся причиной транзитивных зависимостей, преобразуем отношение R2, получив при этом отношения, которые представлены в 3НФ (рис.3.)
R3
ФИО | Должн | Стаж | Каф |
Иванов И.М. | Преп | ||
Петров М.И. | Ст.преп | ||
Сидоров Н.Г. | Преп | ||
Егоров В.В. | Преп |
R4
Должн | Оклад |
Преп | |
Ст.преп |
R5
Стаж | Д_Стаж |
100 | |
Рис.3. Отношения в 3 нормальной форме
Если в отношении имеется зависимость атрибутов составного ключа от неключевых атрибутов, то необходимо перейти к усиленной 3НФ (нормальной форме Бойса-Кодда).
|
|
На практике обычно ограничиваются структурой БД, соответствующей 3НФ или БКНФ.