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