Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Многозначные зависимости и четвертая нормальная форма (4NF)

С помощью приведения к нормальной формы Бойса-Кодда можно избавиться от любых аномалий обновления, которые вызваны функциональными зависимостями.

Четвертая нормальная форма (4NF) относится к отношениям, которые содержат повторяющиеся наборы данных. Разбиение (декомпозиция), которая основана на функциональных зависимостях, не может привести к избавлению от такой избыточности. В таком случае используется декомпозиция, основанная на многозначных зависимостях.

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

Определение 1

Под многозначной зависимостью понимают обобщение функциональной зависимости, которая рассматривает соответствия между множествами (более двух) значений атрибутов.

Пример 1

Рассмотрим отношение ПРЕПОДАВАТЕЛИ (ФАМИЛИЯ, КУРС, УЧЕБНИК), которое хранит информацию о курсах, читаемых преподавателем, и им написанных учебных пособиях. Пусть преподаватель А читает курс ИНФОРМАТИКА и СЕТИ ЭВМ и имеет одноименные учебники, а преподаватель В ведет курс ПРОГРАММИРОВАНИЕ и является автором учебных пособий ПРОГРАММИРОВАНИЕ и ТЕОРИЯ АЛГОРИТМОВ. В таком случае рассматриваемое отношение будет иметь следующий вид:

Многозначные зависимости и четвертая нормальная форма (4NF). Автор24 — интернет-биржа заказчиков и авторов

Добавим:

Многозначные зависимости и четвертая нормальная форма (4NF). Автор24 — интернет-биржа заказчиков и авторов

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

К примеру, добавление сведений о том, что преподаватель В будет также вести лекции по курсу ИНФОРМАТИКА приведет к необходимости добавления двух кортежей (по количеству написанных им учебников) вместо одного. В то же время, отношение ПРЕПОДАВАТЕЛИ находится в нормальной форме Бойса-Кодда (ключевой атрибут – ФАМИЛИЯ).

Обратим внимание, что рассматриваемые аномалии исчезнут при замене отношения ПРЕПОДАВАТЕЛИ его проекциями:

Многозначные зависимости и четвертая нормальная форма (4NF). Автор24 — интернет-биржа заказчиков и авторов

В данном случае появление аномалии обновления объясняется тем, что в отношении ПРЕПОДАВАТЕЛИ:

  1. множество значений атрибута КУРС зависит от множества значений атрибута ФАМИЛИЯ;
  2. множества значений атрибута УЧЕБНИК зависит от множества значений атрибута ФАМИЛИЯ.

Называют подобные зависимости многозначными и обозначают:

ФАМИЛИЯ $\to$ КУРС

ФАМИЛИЯ $\to$ УЧЕБНИК

Обратим внимание, что многозначными зависимостями всегда образуются связанные пары, тогда они часто обозначаются:

ФАМИЛИЯ $\to$ КУРС $\mid$ УЧЕБНИК.

Статья: Многозначные зависимости и четвертая нормальная форма (4NF)
Найди решение своей задачи среди 1 000 000 ответов

Важно понимать, что многозначной является каждая функциональная зависимость, но функциональной является не каждая многозначная зависимость.

Четвертая нормальная форма

Определение 2

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

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

Пример 2

Рассмотрим отношение: ИССЛЕДОВАНИЕ (Номер_Исслед, Студент, Задание).

Отношение ИССЛЕДОВАНИЕ содержит номера тем исследований, для каждой темы указывается список студентов, которые могут выполнять исследование по теме, и список заданий данной темы. Студенты могут участвовать в нескольких исследованиях, и разные исследования могут содержать одинаковые задания. В данной ситуации единственный возможный ключ отношения – это составной атрибут: (Номер_Исслед, Студент, Задание).

Отношение содержит избыточные данные и вызывает аномалии обновления.

В рассматриваемом отношении ИССЛЕДОВАНИЕ существуют 2 многозначные зависимости:

Номер_Исслед $\to$ Студент;

Номер_Исслед $\to$ Задание.

В данном примере можно выполнить разбиение отношения ИССЛЕДОВАНИЕ на два отношения ИССЛЕДОВАНИЕ-СТУДЕНТЫ и ИССЛЕДОВАНИЕ-ЗАДАНИЯ:

ИССЛЕДОВАНИЕ-СТУДЕНТЫ (Номер_Исслед, Студент);

ИССЛЕДОВАНИЕ-ЗАДАНИЯ (Номер_Исслед, Задание).

Воспользуйся нейросетью от Автор24
Не понимаешь, как писать работу?
Попробовать ИИ
Дата написания статьи: 19.09.2016
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot