Я не понимаю нормальную форму Boyce-Codd. Я посмотрел на свой учебник, но я этого не понимаю. Скажем, отношение R = (A, B, C, D, E) и F = {A-> C, D-> CB, AC-> E}. Как вы определяете, находится ли R в BCNF? Нужна помощь. Благодаря!Boyce-Codd Normal Form
ответ
Чтобы определить, является ли отношение BCNF, мы исследуем его функциональные зависимости.
Это в НФКАХ, если для каждого FD X → Y, либо мы имеем
- X → Y является тривиальной функциональной зависимостью (Y ⊆ X)
- X является суперключ для схемы R.
FD - A → C, D → CB, AC → E. Начнем с первого FD A → C.
A → C не является тривиальным, поскольку C ∉ A. A → A является, например, тривиальной зависимостью.
Сейчас A → C суперключ? Чтобы проверить, что мы вычисляем замыкание левой стороны FD, в этом случае A. Закрытие - это все элементы, логически подразумеваемые A. [A] + = A ∪ C ∪ E = ACE или, следовательно, мы имеем A → ACE ,
ACE не является суперключем, поскольку он содержит все атрибуты отношения.
Так что отношение не в BCNF, потому что A → C не является ни тривиальным, ни суперключом.
Есть и другие нарушения BCNF. [D] + = BCD, который не является суперким или тривиальным. [AC] + = ACE, который не является суперким или тривиальным.
Надеюсь, это поможет! Я думаю, что все правильно, но сейчас я изучаю финал и пытаюсь узнать много этого материала.
Неформально вы сначала идентифицируете все ключи-кандидаты. Затем вы смотрите на стрелки в функциональных зависимостях.
Если каждая стрелка является стрелкой ключа кандидата, то в BCNF.