Разложение BCNF, которое приводит к разным разложениям (как верным, так и неверным)?

#database-normalization #bcnf

#база данных-нормализация #bcnf

Вопрос:

Это вопрос 19.10 (4) в учебнике Системы управления базами данных Рагу Рамакришнана, Йоханнеса Герке (на случай, если кому-то интересно — ответ, конечно, не включен, поэтому мне нужно было спросить)

И я заметил, что есть два способа выполнить разложение BCNF:

Нам дано R = ABCD и функциональные зависимости: A -> B, B -> C, C -> D

Ключ: A Мы можем разложить его на BCNF, используя B -> C или C -> D в начале

Если разложить по B -> C в начале, получим R1 = AB , R2 = BC, R3 = BD (это неверно) Если разложить по C -> D в начале, получим R1 = AB, R2 = BC, R3 = CD (это верно)

Я совсем новичок в декомпозиции BCNF, это правильно? То есть возможно иметь несколько разных разложений BCNF в зависимости от выбранного вами начального FD?

Заранее спасибо 🙂

Комментарии:

1. Прямо перед тем, как вы его разложите, что у вас должно быть? Просто список FD и ключ? Узнайте.

2. Я не уверен, что вы имеете в виду.. нам просто дано отношение с четырьмя атрибутами ABCD и списком FD. Из списка FD я определил, что ключом является A, а затем продолжаю оттуда

3. Каков именно ваш алгоритм из ссылки?