Минимальное покрытие
Набор неизбыточных ФЗ, полученный путем удаления всех избыточных ФЗ из
исходного набора, называется минимальным покрытием.
Минимальное покрытие не всегда является уникальным, поскольку порядок, в котором
осуществляется процедура удаления избыточных ФЗ, может оказать влияние на полученное
минимальное покрытие. Избыточные ФЗ следует удалять по одной,
каждый раз, заново
анализируя новый набор на предмет присутствия в нем избыточных ФЗ.
Алгоритм проектирования
1.Создание локальной логической модели данных из концептуальной модели
2.Устранение особенностей, несовместимых с реляционной моделью (подробнее см.
[1])
3.Определение набора отношений, как правило, сущность становится
таблицей, ее
первичный ключ становится первичным ключом таблицы. Обычно сущность,
характеризуемая обязательным участием, является родительской, а необязательным –
дочерней. Родительская сущность передает дочерней сущности копию своего
первичного
ключа для использования его в
качестве внешнего ключа (подробнее см. [1])
4.Проверка отношений с помощью правил нормализации. Эта проверка выполняется
отдельно для каждого отношения с использованием минимального покрытия множества ФЗ
(подробнее см. [2])
A
Z
B
A
A
Z
B
С
A
B
С
Z
B
C
A
B
C
A
C
B
B
A
а)
б)
в)
г)
д)
е)
ж)
з)
A
B
Рис.1. Удаление избыточных ФЗ
а)
Отношение находится в 1НФ
, если оно не содержит повторяющихся групп (каждый
его элемент атомарен)
б)
Отношение находится во 2НФ
, если оно находится в 1НФ и все его непервичные
атрибуты полностью зависят от первичного ключа. (удалены частичные зависимости)
в)
Отношение находится в 3НФ
, если оно находится во 2НФ и
каждый его
непервичный атрибут нетранзитивно зависит от ключа (удалены транзитивные зависимости)
г)
Отношение находится в НФ Бойса-Кодда (НФБК),
если каждая детерминанта
является первичным ключом (нет зависимостей кроме как от первичных ключей)
5.Проверка соответствия отношений требованиям пользовательских транзакций.
6.Определение требований поддержки целостности данных
7.Создание и проверка глобальной логической модели данных путем слияния
локальных моделей
Достарыңызбен бөлісу: