Третья нормальная форма
Рассмотрим другое отношение График, представленное ниже. Предположим, что это отношение имеет ключ РЕЙС ДЕНЬ и к тому же удовлетворяет функциональным зависимостям КОД-ПИЛОТА
ИМЯ и ИМЯКОД-ПИЛОТА.Если выполнить операцию обновления
ИЗМЕНИТЬ (График; 112, 6 июня,
КОД-ПИЛОТА=31039, ИМЯ=Иванов),
то изменяется функциональная зависимость ИМЯ
КОД-ПИЛОТА. Кроме того, имеется избыточная информация в виде пар КОД-ПИЛОТА, ИМЯ.Проблема здесь не из-за частичной зависимости непервичного атрибута, хотя решение получается то же самое.
Это отношение можно представить в виде базы данных следующим образом.
Пилот-График |
РЕЙС |
ДАТА |
КОД-ПИЛОТА |
112 |
6 июня |
31174 |
|
112 |
7 июня |
30046 |
|
203 |
9 июня |
31174 |
Код |
КОД-ПИЛОТА |
ИМЯ |
31174 |
Иванов |
|
30046 |
Петров |
Возможность восстановления первоначального отношения сохраняется.
Перед определением третьей нормальной формы характеризуется транзитивная зависимость атрибутов.
Для данной схемы отношения
, подмножества множества , атрибута в и множества функциональных зависимостей атрибут называется транзитивно зависимым от в , если существует подмножество , такое, что, не определяет функционально , относительно и [10].Пример 2.10. Пусть
(РЕЙС, ДАТА, КОД-ПИЛОТА, ИМЯ) и множество ={РЕЙС ДАТАКОД-ПИЛОТА ИМЯ, КОД-ПИЛОТАИМЯ, ИМЯКОД-ПИЛОТА}.Атрибут ИМЯ является транзитивно зависимым от РЕЙС ДАТА, так как РЕЙС ДАТА® КОД-ПИЛОТА, КОД-ПИЛОТА не определяет функционально РЕЙС ДАТА и КОД-ПИЛОТА®ИМЯ.
Схема отношения
находится в третьей нормальной форме (3НФ) относительно множества функциональных зависимостей , если она находится в 1НФ и ни один из первичных атрибутов в не является транзитивно зависимым от ключа для [10].Схема базы данных R находится в третьей нормальной форме относительно
, если каждая схема отношения в R находится в 3НФ относительно .Пример 2.11. Пусть
и множество те же, что и в примере 2.10, R={}.Схема базы данных R не находится в 3НФ относительно
, потому что ИМЯ является транзитивно зависимым от РЕЙС ДАТА.Если R={(PEЙC, ДАТА, КОД-ПИЛОТА); (КОД-ПИЛОТА, ИМЯ)}, то R находится в 3НФ относительно
.Следует заметить, что любая схема отношения, находящаяся в 3НФ относительно
, находится в 2НФ относительно [10].