Многозначные зависимости

Атрибут X многозначно определяет атрибут Y в R (или Y многозначно зависит от X), если каждому значению атрибута X соответствует множество (возможно, пустое) значений атрибута Y, никак не связанных с другими атрибутами R. То есть для наличия в отношении многозначной зависимости необходимо иметь как минимум три атрибута.

Многозначная зависимость обозначается двойной стрелкой: X→→Y.

Рассмотрим отношение Преподаватель (Номер, Имя_ребенка, Предмет, Должность). Предметная область накладывает следующие ограничения:

· каждый преподаватель может иметь несколько детей,

· каждый преподаватель может вести несколько предметов,

· каждый преподаватель может занимать только одну должность,

· каждый предмет могут вести несколько преподавателей.

Тогда отношение Преподаватель имеет две многозначные зависимости и одну функциональную:

· Номер→→Имя_ребенка,

· Номер→→Предмет,

· Номер→Должность.

Преподаватель
Номер Имя_ребенка Предмет Должность
  Ольга Алгебра Доцент
  Иван Геометрия Доцент
  Ольга Геометрия Доцент
  Иван Алгебра Доцент
  Сергей Алгебра Профессор

Отношение Преподаватель, во-первых, содержит избыточную информацию – должность преподавателя повторяется несколько раз. Во-вторых, оно не свободно от аномалий обновления: если у преподавателя появляется еще один ребенок, необходимо добавить в отношение не один кортеж, а столько, сколько предметов ведет этот преподаватель. Аналогично, при добавлении еще одного предмета требуется добавить столько кортежей, сколько детей имеет преподаватель. А если преподаватель не имеет детей, то информацию о том, какие предметы он ведет, вообще нельзя занести в отношение.

Для избавления от этих аномалий необходимо привести отношение к четвертой нормальной форме.

Отношение находится в четвертой нармальной форме (4НФ), если оно находится в нормальной форме Бойса–Кодда и в нем отсутствуют многозначные зависимости, которые не являются функциональными.

После приведения отношения Преподаватель к 4НФ мы получим три отношения:

Преподаватель_1 (Номер, Должность),

Преподаватель_2 (Номер, Имя_ребенка),

Преподаватель_3 (Номер, Предмет).

Преподаватель_1   Преподаватель_2   Преподаватель_3
Номер Должность   Номер Имя_ре-бенка   Номер Предмет
  Доцент     Ольга     Алгебра
  Профессор     Иван     Геометрия
        Сергей     Алгебра

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



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