Я пытаюсь понять, как нормализовать отношение в форме BCNF. Я знаю, что такое определение BCNF, и я знаю, что для его нормализации мне нужно устранить каждый D -> X
, где D
не является частью ключевого кандидата. И создать новые таблицы (D,X)
и (S,X)
.Как нормализовать таблицу в форме BCNF
Я также прочитал это темы:
Но проблема я столкнулся в том, как использовать алгоритм, когда X является частью супер ключ. поясню:
Предположим, что мы имеем это соотношение:
R = (a,b,c,d,e)
FD = { {a,b}->{c} , {a,b}->{d} , {a,b}->{e} , {d}->{b} }
Очевидно, что только супер ключ является (a,b)
. И, очевидно, d
не является ключевым кандидатом.
Нарушение BCNF, но мы не можем просто взять b
из-за того, что он является частью супер ключа.
Так что мой вопрос: в этом случае, как мы можем нормализовать это отношение в форме BCNF?
Я предполагаю, что F должен представлять функциональные зависимости, но я не могу сказать, что на самом деле есть FDs - нотация неоднозначна. Может быть, вы имеете в виду '{a, b} ⟶c; {А, Ь} ⟶d; {А, Ь} ⟶e; d⟶b'? где я не использовал set '{}' для одиночных наборов. Просьба уточнить набор FD. –
Да, по 'f' I ment' FD'. Я отредактировал, спасибо. Что касается обозначений, я слежу за тем, что я видел до сих пор во многих местах. –
Да, я нахожусь в FD, который вы написали. Отредактировал это также. –