Многозначная зависимость. Аксиомы многозначной зависимости. Понятие многозначной зависимости. Соединение без потерь, сохраняющих зависимость

r со схемой R, а также два произвольных подмножества атрибутов A,B\subseteq R. Пусть C\overset{\mathop{=}}\,R\backslash (A\cup B).

В этом случае B многозначно зависит от A, тогда и только тогда, когда множество значений атрибута B, соответствующее заданной паре отношения r, зависит от a и не зависит от c.

Символически выражается записью

A \twoheadrightarrow B.

Формально

\begin{align} & r\left(R \right),\ A,B\subseteq R,\ C=R\backslash (A\cup B) \\ & \left(A\twoheadrightarrow B \right)\Leftrightarrow \forall {{t}_{1}},{{t}_{2}}\in r\ \exists {{t}_{3}},{{t}_{4}}\in r\ :\ \left\{ \begin{align} & {{t}_{1}}\left(A \right)={{t}_{2}}\left(A \right)={{t}_{3}}\left(A \right)={{t}_{4}}\left(A \right) \\ & {{t}_{3}}\left(B \right)={{t}_{1}}\left(B \right) \\ & {{t}_{3}}\left(C \right)={{t}_{2}}\left(C \right) \\ & {{t}_{4}}\left(B \right)={{t}_{2}}\left(B \right) \\ & {{t}_{4}}\left(C \right)={{t}_{1}}\left(C \right) \\

\end{align} \right. \\ \end{align}

Многозначная зависимость A\twoheadrightarrow B называется тривиальной , если выполняется хотя бы одно из условий:

  • Множество A является надмножеством B; B\subseteq A
  • Объединение A и B образует весь заголовок отношения. A\cup B=R

Пример

Предположим, у нас есть отношение, в которое входит список учебных дисциплин, рекомендованная литература и имена лекторов, читающих соответствующие курсы:

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

Формально, здесь две МЗЗ: {Дисциплина} \twoheadrightarrow {Книга}|{Лектор} .

Во-первых, это избыточно. А во-вторых, для такого отношения необходимо разрабатывать дополнительный механизм контроля целостности. Оптимальным решением проблемы будет декомпозиция отношения на два с заголовками {Дисциплина, Книга} и {Дисциплина, Лектор} . Такая декомпозиция будет находиться в 4NF . Допустимость декомпозиции устанавливает теорема Феджина (см. далее).

Теоремы

Связные пары

Феджин показал, что многозначные зависимости образуют связные пары (в обозначениях определения):

\left(A\twoheadrightarrow B \right)\Leftrightarrow \left(A\twoheadrightarrow C \right).

Поэтому их часто представляют вместе в символической записи:

A\twoheadrightarrow B|C

Функциональные зависимости

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

Правила вывода

В 1977 году Бэри, Феджин и Ховард установили, что правила вывода Армстронга можно обобщить и распространить, как на функциональные, так и на многозначные зависимости.

Пусть у нас есть отношение r\left(R \right) и множества атрибутов A,B,C,D\subseteq R. Для сокращения записи вместо X\cup Y будем писать просто XY.

Группа 1: базовые правила.

  • Дополнение \left(A\cup B\cup C=R \right)\wedge \left(B\cap C\subseteq A \right)\Rightarrow \left(\left(A\twoheadrightarrow B \right)\Leftrightarrow \left(A\twoheadrightarrow C \right) \right)
  • Транзитивность \left(A\twoheadrightarrow B \right)\wedge \left(B\twoheadrightarrow C \right)\Rightarrow \left(A\twoheadrightarrow C\backslash B \right)
  • Рефлексивность \left(B\subseteq A \right)\Rightarrow \left(A\twoheadrightarrow B \right)
  • Приращение \left(A\twoheadrightarrow B \right)\wedge \left(C\subseteq D \right)\Rightarrow \left(AD\twoheadrightarrow BC \right)

Группа 2: выводятся несколько дополнительных правил, упрощающих задачу вывода многозначных зависимостей.

  • Псевдотранзитивность \left(A\twoheadrightarrow B \right)\wedge \left(BC\twoheadrightarrow D \right)\Rightarrow \left(AC\twoheadrightarrow D\backslash BC \right)
  • Объединение \left(A\twoheadrightarrow B \right)\wedge \left(A\twoheadrightarrow C \right)\Rightarrow \left(A\twoheadrightarrow BC \right)
  • Декомпозиция \left(A\twoheadrightarrow BC \right)\Rightarrow \left(A\twoheadrightarrow B\cap C \right)\wedge \left(A\twoheadrightarrow B\backslash C \right)\wedge \left(A\twoheadrightarrow C\backslash B \right)

Группа 3: устанавливается связь между функциональными и многозначными зависимостями.

  • Репликация (копирование) \left(A\to B \right)\Rightarrow \left(A\twoheadrightarrow B \right)
  • Слияние \left(A\twoheadrightarrow B \right)\wedge \left(C\to D \right)\wedge \left(D\subseteq B \right)\wedge \left(B\cap C=\varnothing \right)\Rightarrow \left(A\to D \right)

Группа 4: для функциональных зависимостей, выводятся из вышеприведенных правил.

  • \left(A\twoheadrightarrow B \right)\wedge \left(AB\to C \right)\Rightarrow \left(A\to C\backslash B \right)

См. также

Напишите отзыв о статье "Многозначная зависимость"

Литература

  • К. Дж. Дейт. Введение в системы баз данных = Introduction to Database Systems. - 8-е изд. - М .: «Вильямс» , 2006. - С. 1328. - ISBN 0-321-19784-4 .

Отрывок, характеризующий Многозначная зависимость

Лицо стало утешать ее; Элен же сквозь слезы говорила (как бы забывшись), что ничто не может мешать ей выйти замуж, что есть примеры (тогда еще мало было примеров, но она назвала Наполеона и других высоких особ), что она никогда не была женою своего мужа, что она была принесена в жертву.
– Но законы, религия… – уже сдаваясь, говорило лицо.
– Законы, религия… На что бы они были выдуманы, ежели бы они не могли сделать этого! – сказала Элен.
Важное лицо было удивлено тем, что такое простое рассуждение могло не приходить ему в голову, и обратилось за советом к святым братьям Общества Иисусова, с которыми оно находилось в близких отношениях.
Через несколько дней после этого, на одном из обворожительных праздников, который давала Элен на своей даче на Каменном острову, ей был представлен немолодой, с белыми как снег волосами и черными блестящими глазами, обворожительный m r de Jobert, un jesuite a robe courte, [г н Жобер, иезуит в коротком платье,] который долго в саду, при свете иллюминации и при звуках музыки, беседовал с Элен о любви к богу, к Христу, к сердцу божьей матери и об утешениях, доставляемых в этой и в будущей жизни единою истинною католическою религией. Элен была тронута, и несколько раз у нее и у m r Jobert в глазах стояли слезы и дрожал голос. Танец, на который кавалер пришел звать Элен, расстроил ее беседу с ее будущим directeur de conscience [блюстителем совести]; но на другой день m r de Jobert пришел один вечером к Элен и с того времени часто стал бывать у нее.
В один день он сводил графиню в католический храм, где она стала на колени перед алтарем, к которому она была подведена. Немолодой обворожительный француз положил ей на голову руки, и, как она сама потом рассказывала, она почувствовала что то вроде дуновения свежего ветра, которое сошло ей в душу. Ей объяснили, что это была la grace [благодать].
Потом ей привели аббата a robe longue [в длинном платье], он исповедовал ее и отпустил ей грехи ее. На другой день ей принесли ящик, в котором было причастие, и оставили ей на дому для употребления. После нескольких дней Элен, к удовольствию своему, узнала, что она теперь вступила в истинную католическую церковь и что на днях сам папа узнает о ней и пришлет ей какую то бумагу.
Все, что делалось за это время вокруг нее и с нею, все это внимание, обращенное на нее столькими умными людьми и выражающееся в таких приятных, утонченных формах, и голубиная чистота, в которой она теперь находилась (она носила все это время белые платья с белыми лентами), – все это доставляло ей удовольствие; но из за этого удовольствия она ни на минуту не упускала своей цели. И как всегда бывает, что в деле хитрости глупый человек проводит более умных, она, поняв, что цель всех этих слов и хлопот состояла преимущественно в том, чтобы, обратив ее в католичество, взять с нее денег в пользу иезуитских учреждений {о чем ей делали намеки), Элен, прежде чем давать деньги, настаивала на том, чтобы над нею произвели те различные операции, которые бы освободили ее от мужа. В ее понятиях значение всякой религии состояло только в том, чтобы при удовлетворении человеческих желаний соблюдать известные приличия. И с этою целью она в одной из своих бесед с духовником настоятельно потребовала от него ответа на вопрос о том, в какой мере ее брак связывает ее.
Они сидели в гостиной у окна. Были сумерки. Из окна пахло цветами. Элен была в белом платье, просвечивающем на плечах и груди. Аббат, хорошо откормленный, а пухлой, гладко бритой бородой, приятным крепким ртом и белыми руками, сложенными кротко на коленях, сидел близко к Элен и с тонкой улыбкой на губах, мирно – восхищенным ее красотою взглядом смотрел изредка на ее лицо и излагал свой взгляд на занимавший их вопрос. Элен беспокойно улыбалась, глядела на его вьющиеся волоса, гладко выбритые чернеющие полные щеки и всякую минуту ждала нового оборота разговора. Но аббат, хотя, очевидно, и наслаждаясь красотой и близостью своей собеседницы, был увлечен мастерством своего дела.
Ход рассуждения руководителя совести был следующий. В неведении значения того, что вы предпринимали, вы дали обет брачной верности человеку, который, с своей стороны, вступив в брак и не веря в религиозное значение брака, совершил кощунство. Брак этот не имел двоякого значения, которое должен он иметь. Но несмотря на то, обет ваш связывал вас. Вы отступили от него. Что вы совершили этим? Peche veniel или peche mortel? [Грех простительный или грех смертный?] Peche veniel, потому что вы без дурного умысла совершили поступок. Ежели вы теперь, с целью иметь детей, вступили бы в новый брак, то грех ваш мог бы быть прощен. Но вопрос опять распадается надвое: первое…
– Но я думаю, – сказала вдруг соскучившаяся Элен с своей обворожительной улыбкой, – что я, вступив в истинную религию, не могу быть связана тем, что наложила на меня ложная религия.
Directeur de conscience [Блюститель совести] был изумлен этим постановленным перед ним с такою простотою Колумбовым яйцом. Он восхищен был неожиданной быстротой успехов своей ученицы, но не мог отказаться от своего трудами умственными построенного здания аргументов.
– Entendons nous, comtesse, [Разберем дело, графиня,] – сказал он с улыбкой и стал опровергать рассуждения своей духовной дочери.

Элен понимала, что дело было очень просто и легко с духовной точки зрения, но что ее руководители делали затруднения только потому, что они опасались, каким образом светская власть посмотрит на это дело.
И вследствие этого Элен решила, что надо было в обществе подготовить это дело. Она вызвала ревность старика вельможи и сказала ему то же, что первому искателю, то есть поставила вопрос так, что единственное средство получить права на нее состояло в том, чтобы жениться на ней. Старое важное лицо первую минуту было так же поражено этим предложением выйти замуж от живого мужа, как и первое молодое лицо; но непоколебимая уверенность Элен в том, что это так же просто и естественно, как и выход девушки замуж, подействовала и на него. Ежели бы заметны были хоть малейшие признаки колебания, стыда или скрытности в самой Элен, то дело бы ее, несомненно, было проиграно; но не только не было этих признаков скрытности и стыда, но, напротив, она с простотой и добродушной наивностью рассказывала своим близким друзьям (а это был весь Петербург), что ей сделали предложение и принц и вельможа и что она любит обоих и боится огорчить того и другого.

Пусть A, B, C – некоторое произвольное подмножество атрибутов схемы отношения R(A, B, C). Тогда B многозначно зависит от A (A →→ B) тогда и только тогда, когда множество значений B, соответствующее заданной паре отношения R, зависит только от A, но не зависит от C. многозначные зависимости всегда образуют пары: A →→ B | C.

Пример 1:

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

Предположения, которые могут быть сделаны:

Каждый курс может иметь произвольное количество дней занятий.

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

Дни занятий и студенты совершенно не зависят друг от друга, т.е. независимо от дня занятий состав группы студентов один и тот же.

День занятий может быть связан с любыми курсами.

Каждый студент может быть связан с любым курсом.

Преобразуем данное отношение в нормализованное отношение CDS (рис слева).

Интуитивно ясно, что эти проблемы вызваны тем, что студенты и дни занятий никак не связаны друг с другом. Можно исправить эту ситуацию, если разбить данное отношение на два: CD(Учебный курс , День занятий ) и CS (Учебный курс , Студент ).

В нашем примере имеет место многозначная зависимость: Учебный курс →→ День занятий | Студент.

Пример 2: Предположим, что рестораны производят разные виды пиццы, а службы доставки ресторанов работают только в определенных районах города. Составной первичный ключ соответствующей переменной отношения включает три атрибута: {Ресторан, Вид пиццы, Район доставки}. Такая переменная отношения не соответствует 4НФ, так как существует следующая многозначная зависимость: {Ресторан}->-> {Вид пиццы}; {Ресторан} ->-> {Район доставки}. То есть, например, при добавлении нового вида пиццы придется внести по одному новому кортежу для каждого района доставки. Возможна логическая аномалия, при которой определенному виду пиццы будут соответствовать лишь некоторые районы доставки из обслуживаемых рестораном районов. Для предотвращения аномалии нужно декомпозировать отношение, разместив независимые факты в разных отношениях. В данном примере следует выполнить декомпозицию на {Ресторан, Вид пиццы} и {Ресторан, Район доставки}. Однако если к исходной переменной отношения добавить атрибут, функционально зависящий от потенциального ключа, например цену с учётом стоимости доставки ({Ресторан, Вид пиццы, Район доставки} → Цена), то полученное отношение будет находиться в 4НФ и его уже нельзя подвергнуть декомпозиции без потерь. Указанные выше многозначные зависимости в данном случае называются внедрёнными зависимостями.

21. Четвертая и пятая нормальные формы. Определение. Аномалии, возникающие при нарушении. Примеры нарушения и нормализации.

Проблема вставки . Чтобы добавить в приведенное отношение информацию о том, что занятия по курсу C2 могут проводиться еще и в четверг, надо включить в отношение два кортежа: и .

Проблема обновления . Чтобы перенести, например, день занятий по курсу C2 с пятницы на вторник, надо изменить данные в двух кортежах.

Проблема удаления . Чтобы отменить, например, занятия в понедельник по курсу C1, надо удалить из отношения три кортежа.

Учебный курс

День занятий

Понедельник

Понедельник

Понедельник

Отношение R находится в 4НФ тогда и только тогда, когда в случае существования многозначной зависимости A →→B все атрибуты отношения R функционально зависят от A. (В отношении отсутствуют многозначные зависимости)

(для достижения 4НФ необходимо разрешить все связи многие ко многим)

Диаграмма уровня сущностей

Так как предполагается, что занятия по курсу обязательно посещаются студентами, можно ввести общую дополнительную сущность ЗАНЯТИЕ, для которой не будет выполняться 4НФ

Если все-таки необходимо, чтобы отношения удовлетворяли 4НФ, и допускается наличие данных о проведении занятий по курсу, когда еще не определен состав студентов, изучающих данный курс, тогда каждая неопределенная связь должна разрешаться самостоятельно. В этом случае согласование данных, заносимых в отношения КУРС СТУДЕНТА и ЗАНЯТИЕ ПО КУРСУ, должны осуществляться с помощью триггеров и хранимых процедур, чтобы не получилось так, что студент изучает некоторый курс, для которого не назначены дни занятий.

Из книжки: Возможность существования в отношении многозначных зависимостей возникает вследствие приведения исходных таблиц к форме 1НФ, для которой не допускается наличие некоторого набора значений на пересечении одной строки и одного столбца. Например, при наличии в отношении двух многозначных атрибутов для достижения непротиворечивого состояния строк необходимо повторить в них каждое значение одного из атрибутов в сочетании с каждым значением другого атрибута. Подобный тип ограничения порождает многозначную зависимость и приводит к избыточности данных.

Многозначная зависимость . Представляет такую зависимость между атрибутами отношения (например, А, B и C), что каждое значение А представляет собой множество значений для A и множество значений для C. Однако множества значений для B и C не зависят друг от друга.

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

Пятая нормальная форма (5NF)

Декомпозиция схем отношений не всегда гарантирует обратимость. Это обстоятельство связано с существованием класса функциональных зависимостей (ФЗ) по соединению. Если отношение удовлетворяет ФЗ по соединению, то оно может быть восстановлено по своим проекциям. Отношения, содержащие более трех МФЗ, требуют особого внимания при построении логической модели реляционной базы данных . Также 4НФ не устраняет избыточность данных полностью, поэтому требуется дальнейшая декомпозиция схем отношений.

Отношение находится в пятой нормальной форме (5НФ), если оно находится в 4НФ и удовлетворяет зависимости по соединению относительно своих проекций. 5НФ называют также нормальной формой с проецированием соединений. Она используется для разрешения трех и более отношений, которые связаны более чем тремя ФЗ по типу «многие-ко-многим».

Пример. Приведение к 5НФ. Рассмотрим отношение с несколькими многозначными зависимостями, представленное на первом рисунке слева.

Рассмотрим сначала это отношение как три изолированных отношения со степенью связи «многие-ко-многим»:


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

Предположим, что клиент желает приобрести автомобиль синего цвета модели C, при этом марка автомобиля роли не играет. Запрос к базе данных на поиск такого автомобиля будет содержать два соединения между тремя таблицами Car, Car Color и Car Model по атрибуту наименование машины и два предиката: цвет = синий и модель = С. Результат выполнения запроса будет удивителен: есть и Волга, и Жигули! Однако из таблицы Model Color видно, что автомобиля синего цвета модели С не существует. Появляется несуществующий кортеж. Такое явление представляет собой аномалию проецирования соединений и пример нарушения 5НФ.

Приведение отношения к 5НФ заключается во введении еще одного отношения, связывающего три исходных отношения, как показано на рисунке слева.

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

Со схемой , а также два произвольных подмножества атрибутов . Пусть .

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

Символически выражается записью

.

Формально

Многозначная зависимость называется тривиальной , если выполняется хотя бы одно из условий:

Пример

Предположим, у нас есть отношение, в которое входит список учебных дисциплин, рекомендованная литература и имена лекторов, читающих соответствующие курсы:

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

Формально, здесь две МЗЗ: {Дисциплина} {Книга}|{Лектор} .

Во-первых, это избыточно. А во-вторых, для такого отношения необходимо разрабатывать дополнительный механизм контроля целостности. Оптимальным решением проблемы будет декомпозиция отношения на два с заголовками {Дисциплина, Книга} и {Дисциплина, Лектор} . Такая декомпозиция будет находиться в 4NF . Допустимость декомпозиции устанавливает теорема Феджина (см. далее).

Теоремы

Связные пары

Феджин показал, что многозначные зависимости образуют связные пары (в обозначениях определения):

.

Поэтому их часто представляют вместе в символической записи:

Функциональные зависимости

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

Правила вывода

В 1977 году Бэри, Феджин и Ховард установили, что правила вывода Армстронга можно обобщить и распространить, как на функциональные, так и на многозначные зависимости.

Пусть у нас есть отношение и множества атрибутов . Для сокращения записи вместо будем писать просто .

Группа 1: базовые правила.

Группа 2: выводятся несколько дополнительных правил, упрощающих задачу вывода многозначных зависимостей.

Группа 3: устанавливается связь между функциональными и многозначными зависимостями.

Группа 4: для функциональных зависимостей, выводятся из вышеприведенных правил.

См. также

Литература

  • К. Дж. Дейт Введение в системы баз данных = Introduction to Database Systems. - 8-е изд. - М .: «Вильямс», 2006. - С. 1328. - ISBN 0-321-19784-4

Wikimedia Foundation . 2010 .

  • Серовский исторический музей
  • Чиханчин, Юрий Анатольевич

Смотреть что такое "Многозначная зависимость" в других словарях:

    Функциональная зависимость (программирование) - Функциональная зависимость концепция, лежащая в основе многих вопросов, связанных с реляционными базами данных, включая, в частности, их проектирование. Математически представляет бинарное отношение между множествами атрибутов данного… … Википедия

    Функциональная зависимость - Запрос «Отображение» перенаправляется сюда. Cм. также другие значения. В данной статье приведено общее определение математической функции. В средних школах и на нематематических специальностях высших учебных заведениях изучают более простое… … Википедия

    Нормализация баз данных

    Четвёртая нормальная форма - (4NF) одна из возможных нормальных форм отношения реляционной базы данных. Содержание 1 Определение 2 Пример 3 Примечания … Википедия

    Нормализация БД - Нормальная форма требование, предъявляемое к отношениям в теории реляционных баз данных для устранения из базы избыточности, которая потенциально может привести к логически ошибочным результатам выборки или изменения данных. Содержание 1… … Википедия

    Нормальные формы - Нормальная форма требование, предъявляемое к отношениям в теории реляционных баз данных для устранения из базы избыточности, которая потенциально может привести к логически ошибочным результатам выборки или изменения данных. Содержание 1… … Википедия

    Четвертая нормальная форма - Основная статья: Нормальная форма Четвёртая нормальная форма (4NF) одна из возможных нормальных форм таблицы реляционной базы данных. Определение Таблица находится в 4NF, если она находится в BCNF и не содержит нетривиальных многозначных… … Википедия

    Пятая нормальная форма - Основная статья: Нормальная форма Пятая нормальная форма (5NF) одна из возможных нормальных форм отношения реляционной базы данных. Содержание 1 Определение 1.1 Декомпозиция без потерь … Википедия

    МАТЕРИАЛИЗМ - (от лат. materialis вещественный) многозначная идея, которой чаще всего придается один или некоторые из следующих смыслов. 1. Утверждение относительно существования или реальности: только материя существует или является реальной; материя является … Философская энциклопедия

    Мерлин, Вольф Соломонович - В Википедии есть статьи о других людях с такой фамилией, см. Мерлин (значения). Эту статью следует викифицировать. Пожалуйста, оформите её согласно правилам оформления статей … Википедия

Отношение может находиться в 3НФ или в НФБК и обладать нежелательными свойствами. Рассмотрим от­ношение СБЫТ (табл. 3.7).

Кортеж <z t m > означает, что завод z производит товар t и снабжает магазин m . Предположим, что завод произ­водит различные товары и снабжает разные магазины. Следовательно, имеются две независимые друг от друга функции: ПРОИЗВОДСТВО и СНАБЖЕНИЕ (рис. 3.4), т. е. в отношении СБЫТ не выполняются F -зависимости ЗАВОДàTOBAP и ЗАВОДàМАГАЗИН. Однако это отношение без потери информации разлагается на два отношения: ПРОИЗВОДСТВО (табл. 3.8) и СНАБЖЕНИЕ (табл. 3.9).

Рассмотрим отношение СБЫТ1 с такой же схемой (табл. 3.7).

Рис. 3.4. Функция отношения СБЫТ

Таблица 3.7. Отношение СБЫТ

Таблица 3.9. Снабжение

Разложив это отношение на схемы ПРОИЗВОДСТВО (ЗАВОД ТОВАР) и СНАБЖЕНИЕ (ЗАВОД МАГАЗИН), снова получим соответствующие проекции в табл. 3.8 и 3.9. Однако соединение данных проекций не восстанавливает исходного отношения, так как появляется кортеж <z 1 t 2 m 2 >

Проанализируем, какими же свойствами отличаются отношения СБЫТ и СБЫТ1. В первом случае если некоторый товар, например t 2 , производится заводом, например z 1 , то он поставляется во все магазины, а во втором случае - нет. В действительности, если завод z 1 начинает снабжать новый магазин m 3 , то в отношении СБЫТ нужно создать два новых кортежа: по одному для каждого товара. Это связано с взаимной независимостью двух функций (см. рис. 3.4) и лучше осуществляется с помощью двух проекций отношения СБЫТ.

Пусть R(A) -отношение, где А = {А 1 , А 2 ,...,А n }, X, У, Z - подмножества А . Имеет место многозначная зависимость в отношении R , которую обозначают XààY/Z , если при наличии в R кортежей <х у z > и <х у" z" > должны обязательно быть кортежи <х у" z > и <х у z" >.

Так, для рассмотренного выше отношения СБЫТ имеем

ЗАВОДàà ТОВАР/МАГАЗИН, что означает:

если завод производит товар, то он поставляется во все магазины, которые снабжаются заводом;

если завод снабжает некоторый магазин, то магазину поставляются все товары, производимые заводом;

все товары, производимые заводом, продаются мага­зинами, которые снабжаются заводом.

Пусть R(A) - реляционная схема, X, У - непересекающиеся подмножества A, Z = A - (X, У) . Отношение R удовлетворяет многозначной зависимости (MV-зависимости), если для любых кортежей t 1 и t 2 из R , для которых t 1 (X)=t 2 (X) , в R существует кортеж t 3 , для которого t 3 (Х) = t 1 (Х), t 3 (У)=t 1 (У), t 3 (Z)=t 2 (Z) . Из симметрии определения относительно t 1 и t 2 получаем, что в R имеется также кортеж t 4 , для которого t 4 (X)=t 1 {X), t 4 (Y)=t 2 {Y) и t 4 (Z) = t 1 {Z). Из определения MV-зависимости вытекает следующее утверждение.

Утверждение. Если отношение r(R) удовлетворяет MV-зависимости XààY и Z = R-{X, Y) , то r удовлетворяет XààY

В определении MV-зависимости XààY требуется, чтобы ее левая и правая части различались, т. е. чтобы пересечение X и Y было пустым. Для этого есть две причины: во-первых, свойство транзитивности не всегда выполняется, если снято ограничение, и, во-вторых, проектировщик использует на практике MV-зависимости с непересекающимися множествами атрибутов.

Предположим, что в определении MV-зависимости XààY пересечение X и Y не является пустым, т. е. отношение r(R) удовлетворяет XààY и Y" = Y - X . Тогда r(R) удовлетворяет XààY . Действительно, в соответствии с определением MV-зависимости XààY найдутся кортежи t 1 и t 2 , для которых t 1 (X) = t 2 (X) , и должен быть кортеж t 3 , для которого t 3 {X) = t 1 (X), t 3 (Y) =t 1 (Y), t 3 (Z)=t 2 (Z) . Но если t 3 (Y) = t 1 (У), то t 3 (Y")= t 1 (Y") , так как У" ≤Y . Итак, r удовлетворяет XààY".

Предположим, что пересечение X и У пусто и отношение r(R) удовлетворяет ХààY . Если X" Y , то X àà YХ" согласно модифицированному определению MV-зависимости; если t 1 , t 2 принадлежит r и t 1 (X) = t 2 (X) существует кортеж t 3 , для которого t 3 (X) = t 1 (X), t 3 (Y) = t 1 (Y), t 3 (Z) = t 2 (Z) . Следовательно, t 3 (YX") = t 1 (YX") .

Лекция 11. Четвертая и пятая нормальные формы

В лекции рассматриваются четвертая и пятая нормальные формы. Приводится окончательная схема нормализации БД. Даются определения альтернативных нормальных форм.

Цель : ввести понятие четвертой и пятой нормальных форм и обосновать необходимость их применения.

Для определения 4НФ необходимо ввести понятие многозначной зависимости (МЗ) , которое является обобщением понятия функциональной зависимости.

Пусть R – отношение, а A , B и C являются произвольными подмножествами множества атрибутов отношения R .

Тогда подмножество B многозначно зависит от подмножества А , что символически выражается следующей записью А →→ В (читается как «А многозначно определяет B »), тогда и только тогда, когда в каждом допустимом значении R множество значений B , соответствующее заданной паре значений А , C , зависит только от значения А и не зависит от значения C .

Рассмотрим отношение {CourseID , TeacherID , RoomID } со следующими ограничениями:

1. Любая дисциплина может вестись любым количеством преподавателей и в любом количестве кабинетов.

2. Преподаватели и кабинеты не зависят друг от друга.

3. Преподаватель может вести несколько разных дисциплин в разных кабинетах.

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

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

Кроме того, можно легко проверить, что данное отношение находится в НФБК: если отношение находится в 1НФ и оно полностью ключевое (единственный потенциальный ключ состоит из всего множества атрибутов отношения), то можно утверждать, что оно находится в НФБК. Это объясняется тем, что неключевых атрибутов нет, а, следовательно, все требования 2НФ, 3НФ и НФБК выполняются автоматически.

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

Правило многозначной зависимости: для отношения R , в котором существуют подмножества множества атрибутов A , B , C , А →→ B тогда и только тогда, когда А →→ С . Обычно это записывают так: А →→ B | C .



Теорема Фейгина. Пусть А , B и С являются множествами атрибутов переменной отношения R {A , B , С }. В таком случае отношение R будет равно соединению его проекций по атрибутам {А , B } и {А , С } тогда и только тогда, когда для отношения R выполняется многозначная зависимость А →→ B | C .

Найдем все МЗ в нашем отношении:

· {CourseID } → {TeacherID }

· {CourseID } → {RoomID }

По теореме Фейгина мы можем произвести декомпозицию по этим двум МЗ и при этом никакая информация не будет потеряна. Получим два отношения: {CourseID , TeacherID } и {CourseID , RoomID }. Так как эти отношения полностью ключевые, то они находятся в НФБК.

Теперь, следуя теореме Фейгина, можно дать определение четвертой нормальной формы.