Нормализация
5.11 Многозначные зависимости. Теорема Фейгина
Займемся многозначными зависимостями возникающими при приведении в 1НФ отношений с двумя и более многозначными атрибутами. К определению четвертой нормальной формы придем через обобщение понятия функции, заданной на отношении, до многозначной функциональной зависимости. Обобщение теоремы Хиса на такие зависимости называется теоремой Фейгина. Она определяет правило приведения к четвертой нормальной форме. Рассмотрим отношение, в котором курс может считать не один лектор, но для каждого лектора обязателен один и тот же набор учебников, обозначенных по фамилиям авторов (таблица 5.10). Имейте в виду, что такие авторы, как Чучкин, Пупкин, Малинин и Буренин когда-то существовали.
ДИСЦИПЛИНА | ЛЕКТОР | УЧЕБНИК |
Арифметика | Иванов Петров | Чучкин & Пупкин Малинин & Буренин |
Генетика | Карпов | Вайсман Лысенко |
РК |
Лектор и учебник независимы в том смысле, что возможны, любые их сочетания. Преобразуем отношение в 1НФ (таблица 5.11). С одной стороны получена НФБК, так как ключ охватывает все кортежи и возможны только тривиальные зависимости. С другой стороны, налицо избыточность. Имеются аномалии по включению (одного лектора включаем столько раз, сколько имеется учебников) и по удалению (при удалении лектора необходимо удалить столько строк, сколько имеется учебников).
ДИСЦИПЛИНА | ЛЕКТОР | УЧЕБНИК |
Арифметика | Иванов | Чучкин & Пупкин |
Арифметика | Иванов | Малинин & Буренин |
Арифметика | Петров | Чучкин & Пупкин |
Арифметика | Петров | Малинин & Буренин |
Генетика | Карпов | Вайсман |
Генетика | Карпов | Лысенко |
РК |
Многозначные зависимости (multi-valued dependency) возникают, когда необходимо привести к первой нормальной форме отношение с независимыми многозначными атрибутами, имеющими несколько значений на пересечении строки и столбца. Пусть имеется два таких атрибута и
. Тогда для получения 1НФ необходимо для каждого набора значений остальных атрибутов
повторить эту строку для каждого сочетания атомарного значения
с каждым атомарным значением
.
Образуется многозначная зависимость, в которой:
- каждому значению
соответствует набор значений
;
- каждому значению
соответствует набор значений
;
- значения атрибутов
и
не зависят один от другого.
Многозначную зависимость принято обозначать , хотя можно было бы указать наличие двух существующих одновременно обычных функциональных зависимостей
и
. Иногда обозначают многозначную зависимость
или
.
Определение. MV-зависимость называется тривиальной если
, либо
.
Рассмотрим еще одно отношение с многозначными зависимостями (рисунок 5.17). Обозначения: 3 - завод, Т - товар, М - магазин. Выполняется условие: каждый товар из группы товаров продается во все магазины из некоторой группы магазинов. При этом и в группе товаров и в группе магазинов может быть один экземпляр. Исходное отношение ЗТМ разлагается на отношения ЗТ и ЗМ. В отличие от первых четырех нормальных форм связи между созданными отношениями (ЗТ и ЗМ) отсутствуют.
Определение (MV-зависимость). Пусть - отношение, а
- непересекающиеся множества его атрибутов. Атрибуты
и
многозначно зависят от
(обозначение
) если из того, что в отношении
содержатся кортежи
и
, следует, что в отношении
содержится также кортеж
.
По симметрии определения в содержится и кортеж
. Атрибуты
и
как бы симметричны по отношению к
.
При наличии MV-зависимости кортежи обязаны вставляться и удаляться одновременно целыми наборами.
Теорема Фейгина (R. Fagin) играет для многозначных зависимостей ту же роль, что теорема Хиса для функциональных зависимостей. Примем ее без доказательства.
Теорема Фейгина. Пусть - три непересекающиеся подмножества атрибутов
отношения
. Декомпозиция отношения г на проекции на множества атрибутов
и
будет декомпозицией без потерь тогда и только тогда, когда имеется многозначная зависимость
.
Частный случай. Если зависимость является тривиальной, т.е. существует только одна из функциональных зависимостей
или
, но не задана независимость
и
, то получаем теорему Хиса.
5.12 Четвертая нормальная форма. Правило приведения
Определение (4НФ). Отношение находится в четвертой нормальной форме, если оно находится в нормальной форме Бойса-Кодда и не содержит нетривиальных многозначных зависимостей.
Отношения с нетривиальными многозначными зависимостями могут появиться при хранении в одном отношении двух независимых сущностей. Такое отношение образуется как естественное соединение двух отношений по атрибутам, которые не составляют ключа в исходных отношениях.
Правило приведения к 4НФ: Если в отношении находящемся в НФБК обнаружены нетривиальные многозначные зависимости, то для их исключения необходимо провести декомпозицию используя теорему Фейгина.
Полученные после декомпозиции отношения никак не связаны между собой.
Теперь к правилам приведения до НФБК, изложенным в разделе 5.10, можно добавить только что сформулированное правило, может быть, уточнив, что возможен вариант использования не 1НФ а Н1НФ.
На рисунке 5.8 приведена мнемоника для правил приведения к первым пяти нормальным формам. Считалочка для запоминания: "Ключ, весь ключ и ничего кроме ключа". Как присяга - правду, всю правду и ничего кроме правды! Крестом отмечены виды функциональных зависимостей, которые должны быть устранены.