Нормализация реляционных баз данных - 3НФ
ОГЛАВЛЕНИЕ
Страница 7 из 8
3НФ
Обозначим: R - схема отношения, X - подмножество R, A - атрибут в R, F - множество функциональных зависимостей. A называется транзитивно зависимым от X в R, если существует такое Y, являющееся подмножеством R, что:
- X->Y
- ~(Y->X)
- Y->A
- ~(A XY)
Теперь можно дать собственно определение 3НФ:
Схема отношения R находится в 3НФ относительно множества функциональных зависимостей F, если она находится в 1НФ и ни один из непервичных атрибутов в R не является транзитивно зависимым от ключа для R.
Вольное изложение определения: чтобы привести отношение к 3НФ, необходимо устранить функциональные зависимости между неключевыми атрибутами отношения. Другими словами, факты, хранимые в таблице, должны зависеть только от ключа.
В реляционной теории имеется лемма, которая гласит, что любая схема отношения, находящаяся в 3НФ относительно F, находится в 2НФ относительно F.
В нашем случае присутствует функциональная зависимость между атрибутами "Ф.И.О.", "Должность" и "Тел." Очевидно, что на предприятии некий человек занимает определенную должность и располагает определенным рабочим телефоном. Обратное в общем случае неверно - на предприятии может быть несколько аналогичных штатных единиц, например, менеджеры по сбыту, и несколько человек могут пользоваться одним рабочим телефоном.
Чтобы избавиться от данной функциональной зависимости, , проведем декомпозицию таблицы 5а на две таблицы.
Первая из них хранит факты, относящиеся непосредственно к самому предприятию:
Табл. 6а
Наим. | Город | Адрес | Эл. почта | WWW | Вид |
Поршневой з-д | Владимир | Ул. 2-я Кольцевая, 17 | Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript. | www.plunger.ru | Поставщик |
ООО Вымпел | Курск | Ул. Гоголя, 25 | Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript. | Клиент | |
ИЧП Альфа | Владимир | Ул. Пушкинская, 37, оф. 565 | Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript. | Клиент |
Вторая таблица хранит факты, относящиеся к конкретному лицу, исполняющему некоторые обязанности на данном предприятии:
Табл. 6б
Наим. | Город | Ф.И.О. | Должность | Тел. |
Поршневой з-д | Владимир | Иванов И.И. | зам. дир. | 76-15-95 |
Поршневой з-д | Владимир | Петров П.П., | нач. отд. сбыта | 76-15-35 |
ООО Вымпел | Курск | Сидоров С.С. | директор | 66-65-38 |
ИЧП Альфа | Владимир | Васильев В.В. | директор | 74-57-45 |
Вместе с таблицей 5б данный набор таблиц представляет собой нашу исходную базу данных, приведенную к 3НФ.