Алгоритм метода декомпозиции отношений
Теперь нам известно, с чего начать нормализацию - с универсального отношения; что проверить - нахождение исходного отношения в НФБК; что предпринять - декомпозицию исходного отношения на два других отношения; и когда остановиться - все отношения базы данных в НФБК. Таким образом, можно сформулировать общий алгоритм проектирования логической модели реляционной базы данных методом декомпозиции:
Алгоритм метода декомпозиции отношений
Алгоритм
- Разработка универсального отношения для базы данных.
- Определение всех ФЗ между атрибутами отношения.
- Определение, находится ли отношение в НФБК. Если да, то завершить проектирование; в противном случае отношение должно быть разбито на два других отношения.
- Повторение пунктов 2 и 3 для каждого нового отношения, полученного в результате декомпозиции.
Уточним некоторые аспекты метода декомпозиции.
Во-первых, как выполнить декомпозицию отношения на два отношения. Пусть отношение R(A, B, C, D, ...) содержит ФЗ
![](../../../../img/tex/1/a/1/1a1664091c1508a7b70b822c201f5728.png)
![](../../../../img/tex/1/a/1/1a1664091c1508a7b70b822c201f5728.png)
Во-вторых, каков критерий выбора ФЗ для выполнения проекции (далее мы увидим, насколько это может быть существенно). Понятно, что в качестве кандидатов для осуществления проекции следует отбирать ФЗ с детерминантами в левой части. Однако зависимости с детерминантами могут носить транзитивный характер, и здесь полезно применить первое эмпирическое правило выбора ФЗ для выполнения проекции - "правило цепочки". Правило цепочки состоит в следующем:
Если
![](../../../../img/tex/b/0/e/b0ec34f1bc66e3c23ee1463c434432d4.png)
![](../../../../img/tex/9/9/c/99c4edaaaca2bd3665946e4bbe12db09.png)