Атрибут X многозначно определяет атрибут Y в R (или Y многозначно зависит от X), если каждому значению атрибута X соответствует множество (возможно, пустое) значений атрибута Y, никак не связанных с другими атрибутами R. То есть для наличия в отношении многозначной зависимости необходимо иметь как минимум три атрибута.
Рассмотрим отношение Преподаватель(Номер,Имя_ребенка,Предмет, Должность). Предметная область накладывает следующие ограничения:
· каждый преподаватель может иметь несколько детей,
· каждый преподаватель может вести несколько предметов,
· каждый преподаватель может занимать только одну должность,
· каждый предмет могут вести несколько преподавателей.
Тогда отношение Преподаватель имеет две многозначные зависимости и одну функциональную:
· Номер→→Имя_ребенка,
· Номер→→Предмет,
· Номер→Должность.
Преподаватель
Номер
Имя_ребенка
Предмет
Должность
Ольга
Алгебра
Доцент
Иван
Геометрия
Доцент
Ольга
Геометрия
Доцент
Иван
Алгебра
Доцент
Сергей
Алгебра
Профессор
Отношение Преподаватель, во-первых, содержит избыточную информацию – должность преподавателя повторяется несколько раз. Во-вторых, оно не свободно от аномалий обновления: если у преподавателя появляется еще один ребенок, необходимо добавить в отношение не один кортеж, а столько, сколько предметов ведет этот преподаватель. Аналогично, при добавлении еще одного предмета требуется добавить столько кортежей, сколько детей имеет преподаватель. А если преподаватель не имеет детей, то информацию о том, какие предметы он ведет, вообще нельзя занести в отношение.
Для избавления от этих аномалий необходимо привести отношение к четвертой нормальной форме.
Отношение находится в четвертой нармальной форме (4НФ), если оно находится в нормальной форме Бойса–Кодда и в нем отсутствуют многозначные зависимости, которые не являются функциональными.
После приведения отношения Преподаватель к 4НФ мы получим три отношения: