Правильны ли следующие шаги?
R = (P, N, O, C, E)
N -> P
E -> P
O -> C
O -> P
В вышеприведенном отношении мы видим, что есть два нарушения.N -> P и E -> P - отношение «многие к одному», а O -> C и O -> P - отношение «один ко многим».Это означает, что для 1 значения X существует 2 значения Y.Отношения могут быть переписаны как NE -> P и O -> CP.
Прежде всего, мы рассчитываем закрытие атрибута для данного отношения.И используя закрытие атрибута, мы найдем ключ кандидата для отношения.Чтобы R находился в BCNF, если X -> Y выполняется в R, X должен быть супер-ключом R.
P+ = P
N+ = NP
O+ = OCP
C+ = C
E+ = EP
NEO+ = NEOCP
Итак, ключ-кандидат (минимальный супер-ключ) - NEO.Теперь мы запускаем алгоритм.Для отношения NE -> P
S = {N, E, O, C, P} S = {NE, OCP} из-за функциональной зависимости NE -> P, которая нарушила BCNF.Таким образом, мы растворяем отношение на два отношения.S = {NE, OC, OP} из-за функциональной зависимости O -> CP, которая нарушила BCNF.Теперь у нас есть 3 отношения в форме BCNF.