Третья нормальная форма
Рассмотрим другое отношение График, представленное ниже. Предположим, что это отношение имеет ключ РЕЙС ДЕНЬ и к тому же удовлетворяет функциональным зависимостям КОД-ПИЛОТА
ИМЯ и ИМЯКОД-ПИЛОТА.Если выполнить операцию обновления
ИЗМЕНИТЬ (График; 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].