Многозначная зависимость

Многозначная зависимость и четвертая нормальная форма

В свое время было обращено внимание на то, что функциональных зависимостей недостаточно для представления в реляционной модели той семантики предметных областей, которая относится к характеристике связей объект-свойство. В связи с этим было введено понятие многозначной зависимости.

Рассмотрим смысл этой зависимости на примере отношения ЛЕКЦИЯ с атрибу­та­ми Предмет, Преподаватель, Учебник. Оно находится в 3NF, так как между атри­бу­та­ми нет функциональных зависимостей и ключом является все три атри­бу­та. Смысл этого отношения следующий: " Данный предмет преподают такие-то преподаватели и для чтения лекций по этому предмету рекомендованы для использования указанные учебники ".
 
 

Мы не случайно представили эти атрибуты в виде иерархической структуры, так как именно она наиболее адекват­но отражает смысл связей между указанными атрибутами. У нас нет конкретной информации о связи преподавате­лей с учебниками, мы не знаем по какому учебнику тот или иной преподаватель излагает конкретную дисциплину. Тем не менее, при представлении этого отношения мы должны в каждом его кортеже указать значения всех трех атрибутов (по крайней мере потому, что эти атрибуты составляют ключ, а значения ключевых атрибутов всегда должны быть определены). Единственным выходом из данной ситуации является следующий: если с предметом, например БД, связаны преподаватели Иванов и Петров и учебники Основы БД, Введение в БД и Теория БД, то в отношении каждый из этих преподавателей должен быть связан (ассоциирован) с каждым учебником, как это показано на примере ниже. Другого выхода нет.

ЛЕКЦИЯ Предмет Преподаватель Учебник
  БД Иванов Основы БД
  БД Иванов Введение в БД
  БД Иванов Теория БД
  БД Петров Основы БД
  БД Петров Введение в БД
  БД Петров Теория БД

Другими словами, мы должны констатировать следующую семантику связи между преподавателями и учебника­ми: "Данный предмет преподают такие-то преподаватели и для чтения лекций по этому предмету все они исполь­зу­­ю­т ВСЕ указанные учебники".

Мы здесь приходим к следующему тезису:

Тезис: Если в предметной области отсутствует какая-либо непосредственная связь между атри­бу­та­ми А и В, а нам по тем или иным причинам необходимо зафиксировать такую связь в отношении, то единственным коррект­ным решением является установление, что все значения атрибута А связаны со всеми значениями атрибута В, и наоборот.

Отметим, что независимость преподавателей от учебников и наоборот, а также трактовка такой независимости согласно приведенному выше тезису свидетельствует, что в нашем отношении Лекции атрибуты Преподаватель и Учебники обладают следующим важным свойством:

Множество учебников, которые связаны с конкретным предметом, совпадает со множеством учебников, которые связаны с парой значений <предмет, преподаватель> (с предметом "БД" связаны три учебника, эти же три учебника связаны с парами значений <"БД","Иванов"> и <"БД","Петров">). И наоборот, множество преподавате­лей, которые связаны с конкретным предметом, совпадает с множеством преподавателей, которые связаны с парой значений <предмет, учебник>.

Данное свойство является принципиальным в понимании многозначной зависимости.

Очевидно, что такое отношение избыточно и приводит к трудностям в выполнении операций манипу­ли­ро­ва­ния. Лектор входит в атрибут Преподаватель столько раз, сколько имеется учебников и об этом следует помнить вся­кий раз, производя операции вставки удаления и замены преподавателей. То же самое имеет место и для учебников.

В связи с этим было введено понятие многозначной зависимости.

Определение. Пусть задано отношение R с атрибутами (или наборами атрибутов) А, В, С. Говорят, что существует многозначная зависимость (multivalued dependecy) В от А (или А многозначно определяет В), и это обозначается как А ®® В, если при заданных значениях атрибутов из А существует множество связанных значений атрибутов из В и это множество В-значений не зависит каким-либо образом от значений атрибутов из С.

Например, в отношении ЛЕКЦИЯ атрибут Преподаватель многозначно зависит от атрибута Предмет (Предмет ®® Преподаватель) и атрибут Учебник многозначно зависит от Предмет (Предмет ®® Учебник).

Дадим формальное определение многозначной зависимости. Пусть отношение R определено на множестве атрибутов M и А, В – подмножества М, причем А и В могут пересекаться. Определим через ВR(а) множество проекций кортежей отношения R по атрибутам В, которые связаны с конкретным кортежем, спроецированным по атрибутам А, то есть:

ВR(а) = {b | $r Î R, r[A] = a & r[B] = b}

Пусть С = М – (А В). Тогда будем говорить, что ВR(а) в R имеет место многозначная зависимость А ®® В, если

"ас Î R[A,C] ВR(аc) = ВR(а)

Другими словами, совокупность значений атрибутов В, которая появляется в кортежах отношения R с хаданным значением а атрибутов А, появляется также с каждой комбинацией значений а и с Î С, ас Î R[A,C]. Таким образом, множество значений В для заданного а не зависит от значений С, появляющихся вместе с а.

По определению А ®® Æ для любой совокупности атрибутов А из R. Более того вседа имеет место А ®® В, если R определено только на множестве атрибутов А В. Эти два вида многозначных зависимостей называются тривиальными так как они присутствуют во любых отношениях.

Очевидно, что любая функциональная зависимость является многозначной, но не наоборот. Тем не менее, функциональные и многозначные зависимости существенно различаются. Функциональная зависимость А ® В определяется только через А и В, существование же многозначной зависимости А ®® В является свойством всей совокупности атрибутов R.


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



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