Требования третьей нормальной формы - 3NF
Перед обсуждением третьей нормальной формы напомним понятие транзитивной ФЗ, которое уже рассматривалось выше.
Определение: Пусть X, Y, Z - три атрибута некоторого отношения. При этом X ® Y и Y ® Z. Тогда Z транзитивно зависит от X.
Рассмотрим еще одну возможную схему отношения Сотрудники (код, ФИО, должность, должностной оклад). Запишем неприводимое множество функциональных зависимостей при условии, что должностной оклад сотрудника зависит только от занимаемой должности (предположим, что это правило согласовано с представителями бизнеса):
код® ФИО
код ® должность
должность ® должностной оклад
Получается, что должностной оклад зависит от кода сотрудника транзитивно, через должность. ФЗ должность ® должностной оклад в рассматриваемом отношении является нежелательной и приводит к дублированию значений атрибута должностной оклад.
При этом возникают следующие проблемы обновления данных:
•если в данный момент ни один из сотрудников не работает в какой-либо должности (например, психолог), нельзя ввести данные о соответствующем должностном окладе
•при изменении должностных окладов необходим просмотр всего отношения и изменение кортежей для всех сотрудников, которые занимают должности с изменившимся окладом.
Для устранения этих проблем необходимо декомпозировать исходное отношение на два:
Сотрудники (код, ФИО, должность) и
Должности (должность, должностной оклад).
Определение третьей нормальной формы:
Отношение находится в 3NF, если оно находится в 2NF и каждый неключевой атрибут нетранзитивно зависит от первичного ключа.
Дата добавления: 2015-08-26; просмотров: 921;