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

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

Имеется еще одно альтернативное определение третьей нормальной формы.

Отношение находится в третьей нормальной форме в том и только в том случае, если все его неключевые атрибуты взаимно независимы и функционально полно зависят от первичного ключа.

Например, имеем следующее отношение:

Сотрудник (Номер сотрудника, Должность, Номер отдела, Зарплата)

Пусть предметная область такова, что все атрибуты, входящие в отношение (НОМЕР СОТРУДНИКА, ДОЛЖНОСТЬ, НОМЕР ОТДЕЛА, ЗАРПЛАТА) являются атомарными. Следовательно, данное отношение находится в 1НФ. Пусть все неключевые атрибуты, входящие в отношение, имеют конкретные значения для каждого сотрудника, имеющего конкретный табельный номер, т.е. все неключевые атрибуты функционально полно зависят от первичного ключа. (Или, так как первичный ключ состоит только из одного атрибута, все неключевые атрибуты функционально полно зависят от первичного ключа.) Следовательно, это отношение находится во 2НФ. Пусть размер зарплаты каждого сотрудника (в этой организации) зависит от того, в каком отделе сотрудник работает. Исходя из семантики, имеем функциональные зависимости между информационными единицами:

Сотрудник.Номер сотрудника ® Сотрудник.Должность

Сотрудник.Номер сотрудника ® Сотрудник.Номер отдела

Сотрудник.Номер сотрудника ® Сотрудник.Зарплата

Сотрудник.Номер отдела ® Сотрудник.Зарплата

Среди неключевых атрибутов имеется транзитивная зависимость:

Сотрудник.Номер сотрудника ® Сотрудник.Зарплата

Действительно, среди функциональных зависимостей есть зависимости Сотрудник.Номер сотрудника ® Сотрудник.Номер отдела и Сотрудник.Номер отдела ® Сотрудник.Зарплата. Из-за этой транзитивной зависимости для отношения не выполняется условие третьей нормальной формы. Чтобы убрать эту аномалию, составим две проекции исходного отношения (в соответствии с теоремой Хеза):

Сотрудник1 (Номер сотрудника, Должность, Номер отдела)

Отдел ( Номер отдела, Зарплата)

В новых отношениях имеются следующие функциональные зависимости:

Сотрудник1.Номер сотрудника ® Сотрудник1.Должность

Сотрудник1.Номер сотрудника ® Сотрудник1.Номер отдела

Отдел.Номер отдела ® Отдел.Зарплата

В новых отношениях все неключевые атрибуты являются взаимно независимыми и функционально полно зависят от первичного ключа. Следовательно, полученные отношения находятся в 3НФ.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: