Глава 3. Примеры нормализации отношений

3.1. Общие правила метода нормализации

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

Заметим, что понятие корректности результата подразумевает не только требование фактического соответствия результата 3НФ или 4НФ (авторам неизвестны формализованные алгоритмы, приводящие отношение в 5НФ), но и возможность восстановления исходного отношения по его нормальным формам и исходных зависимостей по заданным структурам зависимостей нормальных отношений. Фиксация выявленной структуры зависимостей, по крайней мере, позволяет существенно сократить затраты на реализацию процедур контроля достоверности данных.
Естественно, что исходный состав зависимостей (на основании которых собственно и построена нормализация) может обладать существенной избыточностью. Поэтому вводится понятие минимального покрытия набора зависимостей, из которого с использованием различной аксиоматики (например, аксиомы Армстронга) восстанавливаются необходимые зависимости.
Большинство существующих СУБД, решают данную проблему фиксацией в каждом отношении первичных и внешних ключей (атрибут обладает свойством внешнего ключа, если в каком-то отношении он объявлен как первичный), считая, что этого вполне достаточно для поддержания структурной целостности модели.
Понятие рациональности результата обычно связывается с требованием минимального числа выделенных отношений при заданной структуре зависимостей, с выполнением требования восстановимости исходного отношения из полученных проекций.
Ниже приведены основные правила процедуры нормализации [3, 5] - метода создания набора отношений с заданными свойствами на основе требований, предъявляемых к отображаемым данным в информационной системе. Нормализация является формальным методом, который модет быть использован для определения состава отношений на основе их ключей и существующих зависимостей между их атрибутами.

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

2. Отношения в 2НФ следует разбить на проекции для исключения транзитивных зависимостей между непервичными атрибутами. В результате должен быть получен набор отношений в 2НФ.

3. Отношения в 3НФ следует разбить на проекции для исключения любых оставшихся функциональных зависимостей, в которых детерминанты не являются потенциальным ключом. В результате должен быть получен набор отношений в 3УНФ.

4. Отношения в УНФ следует разбить на проекции для исключения любых многозначных зависимостей, которые не являются функциональными зависимостями. В результате должен быть получен набор отношений в 4НФ (На практике многозначные зависимости, воспринимающиеся как повторяющиеся группы, исключаются из исходного отношения до выполнения этапов 1 - 3).

5. Отношения в 4НФ следует разбить на проекции для исключения любых зависимостей соединения, если их удается распознать в отношении. В результате должен быть получен набор отношений в 5НФ. Как доказывает Фэйджин [3] 5НФ всегда достижима.


[ Назад  Начало раздела  Далее  Содержание]