Разложение BCNF и ключи

Я пытался разложить следующее отношение из его текущего состояния на BCNF с тремя функциональными зависимостями.

введите здесь описание изображения

Принимая максиму

ключ, весь ключ и ничего, кроме ключа

Я пришел к выводу, что транзитивная функциональная зависимость B -> C означает, что она находится в 2NF, и ее следует разложить, чтобы удалить это на

введите здесь описание изображения

Я думаю, это тоже должно быть в BCNF. Однако у меня вопрос, нарушает ли FD A, B -> C это - потому что, похоже, это не соответствует аспекту «ничего, кроме ключа» приведенной выше максимы? (И часть B в A, B -> FD не является ключевым атрибутом, скорее, B является дополнением к ключу)


person davidhood2    schedule 23.05.2016    source источник


Ответы (1)


Обратите внимание, что есть три зависимости:

A → B
A B → D
B → C

не являются канонической обложкой (A B → D можно упростить до A → D, учитывая A → B). Итак, каноническая обложка такая:

A → B
A → D
B → C

и поскольку ключ равен A, вы правы в разложении отношения на:

R1<(B, C), {B → C}>
R2<(A, B, D), {A → B, A → D}>

Обратите внимание, что все зависимости удовлетворяют определению BCNF, поскольку ключ R1 - B, ключ R2 - A, и каждая зависимость имеет свою LHS, которая является ключом.

person Renzo    schedule 23.05.2016