Алгоритм проектирования БД методом декомпозиции состоит из следующих шагов:
1. Построение универсального отношения БД.
2. Определение всех функциональных зависимостей между атрибутами универсального отношения.
3. Получение минимального покрытия.
4. Определение всех детерминантов и возможных ключей отношений.
5. Определение того, находятся ли отношения в НФБК. Если да, то проектирование завершается, иначе отношения, не находящиеся в НФБК, разлагаются на два отношения, каждое по следующему правилу:
a) пусть отношение не находится в НФБК, тогда в нем определяется функциональная зависимость, которая является причиной того, что это отношение не находится в НФБК (т.е. левая часть функциональной зависимости является детерминантом, но не является возможным ключом);
b) пусть, например, это будет функциональная зависимость , тогда формируются два новых отношения и , где в опущена правая часть функциональной зависимости, и функциональная зависимость была полностью использована в ;
|
|
6. Повторение шагов 4 и 5 для каждого нового отношения, полученного в результате декомпозиции, пока все отношения не окажутся в НФБК.
7. Исключение избыточных отношений. Отношение называется избыточным, если
a) все его атрибуты могут быть найдены в другом отношении,
b) все его атрибуты могут быть получены из нескольких других отношений с помощью серии операций присоединения.
8. Проверка всех функциональных зависимостей полученных отношений по следующим направлениям:
a) одна и та же функциональная зависимость не должна встречаться более чем в одном отношении;
b) набор функциональных зависимостей, полученный в результате проектирования, должен в точности совпадать с набором, присутствующим в минимальном покрытии после шага 3.
9. Если в результате получения минимального покрытия и декомпозиции может быть получено несколько вариантов БД, то выбирается вариант наиболее отвечающий требованиям пользователя.