Кубанский государственный университет
Опубликован: 24.12.2013 | Доступ: свободный | Студентов: 681 / 8 | Длительность: 24:28:00
Лекция 5:

Нормализация

5.11 Многозначные зависимости. Теорема Фейгина

Займемся многозначными зависимостями возникающими при приведении в 1НФ отношений с двумя и более многозначными атрибутами. К определению четвертой нормальной формы придем через обобщение понятия функции, заданной на отношении, до многозначной функциональной зависимости. Обобщение теоремы Хиса на такие зависимости называется теоремой Фейгина. Она определяет правило приведения к четвертой нормальной форме. Рассмотрим отношение, в котором курс может считать не один лектор, но для каждого лектора обязателен один и тот же набор учебников, обозначенных по фамилиям авторов (таблица 5.10). Имейте в виду, что такие авторы, как Чучкин, Пупкин, Малинин и Буренин когда-то существовали.

Таблица 5.10. Пример многозначной зависимости. Н1НФ
ДИСЦИПЛИНА ЛЕКТОР УЧЕБНИК
Арифметика Иванов Петров Чучкин & Пупкин Малинин & Буренин
Генетика Карпов Вайсман Лысенко
РК

Лектор и учебник независимы в том смысле, что возможны, любые их сочетания. Преобразуем отношение в 1НФ (таблица 5.11). С одной стороны получена НФБК, так как ключ охватывает все кортежи и возможны только тривиальные зависимости. С другой стороны, налицо избыточность. Имеются аномалии по включению (одного лектора включаем столько раз, сколько имеется учебников) и по удалению (при удалении лектора необходимо удалить столько строк, сколько имеется учебников).

Таблица 5.11. Пример многозначной зависимости. 1НФ
ДИСЦИПЛИНА ЛЕКТОР УЧЕБНИК
Арифметика Иванов Чучкин & Пупкин
Арифметика Иванов Малинин & Буренин
Арифметика Петров Чучкин & Пупкин
Арифметика Петров Малинин & Буренин
Генетика Карпов Вайсман
Генетика Карпов Лысенко
РК

Многозначные зависимости (multi-valued dependency) возникают, когда необходимо привести к первой нормальной форме отношение с независимыми многозначными атрибутами, имеющими несколько значений на пересечении строки и столбца. Пусть имеется два таких атрибута Y и Z. Тогда для получения 1НФ необходимо для каждого набора значений остальных атрибутов X повторить эту строку для каждого сочетания атомарного значения Y с каждым атомарным значением Z.

Образуется многозначная зависимость, в которой:

  • каждому значению X соответствует набор значений Y;
  • каждому значению X соответствует набор значений Z;
  • значения атрибутов Y и Z не зависят один от другого.

Многозначную зависимость принято обозначать X\twoheadrightarrow Y|Z, хотя можно было бы указать наличие двух существующих одновременно обычных функциональных зависимостей X\to Y и X\to Z. Иногда обозначают многозначную зависимость X\twoheadrightarrow Y или X\twoheadrightarrow Z.

Определение. MV-зависимость X\twoheadrightarrow Y называется тривиальной еслиX \supseteq Y, либо X\cup Y=\{X,Y,Z\}.

Рассмотрим еще одно отношение с многозначными зависимостями (рисунок 5.17). Обозначения: 3 - завод, Т - товар, М - магазин. Выполняется условие: каждый товар из группы товаров продается во все магазины из некоторой группы магазинов. При этом и в группе товаров и в группе магазинов может быть один экземпляр. Исходное отношение ЗТМ разлагается на отношения ЗТ и ЗМ. В отличие от первых четырех нормальных форм связи между созданными отношениями (ЗТ и ЗМ) отсутствуют.

ЗТМ: \begin{array}{|c|c|c|} \hline З & Т & М \\ \hline З_1 & Т_1 & М_1 \\ \hline З_1 & Т_1 & М_2 \\ \hline З_1 & Т_1 & М_3 \\ \hline З_1 & Т_2 & М_1 \\ \hline З_1 & Т_2 & М_2 \\ \hline З_1 & Т_2 & М_3 \\ \hline З_2 & Т_2 & М_2 \\ \hline \end{array}

ЗТ: \begin{array}{|c|c|} \hline З & Т \\ \hline З_1 & Т_1 \\ \hline З_1 & Т_2 \\ \hline З_2 & Т_2 \\ \hline \end{array}

ЗМ: \begin{array}{|c|c|} \hline З & М \\ \hline З_1 & М_1 \\ \hline З_1 & М_2 \\ \hline З_2 & М_3 \\ \hline З_2 & М_2 \\ \hline \end{array}

Определение (MV-зависимость). Пусть r - отношение, а X, У, Z - непересекающиеся множества его атрибутов. Атрибуты Y и Z многозначно зависят от X (обозначение X\twoheadrightarrow Y|Z) если из того, что в отношении r содержатся кортежи r_1=(x,y,z_1) и r_2=(x,y_1,z), следует, что в отношении r содержится также кортеж r_3=(x,y,z).

По симметрии определения в r содержится и кортежr_4=(x,y_1,z_1). Атрибуты Y и Z как бы симметричны по отношению к X.

При наличии MV-зависимости кортежи обязаны вставляться и удаляться одновременно целыми наборами.

Теорема Фейгина (R. Fagin) играет для многозначных зависимостей ту же роль, что теорема Хиса для функциональных зависимостей. Примем ее без доказательства.

Теорема Фейгина. Пусть X,Y,Z - три непересекающиеся подмножества атрибутов R(X, У, Z) отношения r. Декомпозиция отношения г на проекции на множества атрибутов \{X, Y\} и \{X, Z\} будет декомпозицией без потерь тогда и только тогда, когда имеется многозначная зависимость X\twoheadrightarrow Y|Z.

Частный случай. Если зависимость X\twoheadrightarrow Y|Z является тривиальной, т.е. существует только одна из функциональных зависимостей X\to Y илиX\to Z, но не задана независимость Y и Z, то получаем теорему Хиса.

5.12 Четвертая нормальная форма. Правило приведения

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

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

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

Полученные после декомпозиции отношения никак не связаны между собой.

Теперь к правилам приведения до НФБК, изложенным в разделе 5.10, можно добавить только что сформулированное правило, может быть, уточнив, что возможен вариант использования не 1НФ а Н1НФ.

На рисунке 5.8 приведена мнемоника для правил приведения к первым пяти нормальным формам. Считалочка для запоминания: "Ключ, весь ключ и ничего кроме ключа". Как присяга - правду, всю правду и ничего кроме правды! Крестом отмечены виды функциональных зависимостей, которые должны быть устранены.

Мнемоника для правил приведения к нормальным формам

Рис. 5.8. Мнемоника для правил приведения к нормальным формам