Может ли декомпозиция BCNF сохранить все функциональные зависимости, заданные F = {AB -> E, BC -> G, C-> BG, CD->A, EC->D, G->CH}?
Дано
F = {AB -> E, BC -> G, C-> BG, CD->A, EC->D, G->CH}
выполнить декомпозицию BCNF и проверить, сохраняет ли она все функциональные зависимости.
Минимальное покрытие R = {AB->E,C->B,C->G,CD->A,EC->D,G->C,G->H}
Я выступал на R
декомпозиция BCNF (это необходимо выполнить на минимальном покрытии), и я остался с двумя зависимостями, одна из которых сохраняется, а другая не сохраняется. В ответах они говорят мне, что все зависимости сохранены. Может ли кто-нибудь подтвердить это?
2 ответа
AB E, C BG, CD A, CE D, G CH находятся в BCNF и без потерь соединения и сохранения зависимостей. ключи отношения выделены жирным шрифтом
Всегда есть возможность добавить новое отношение для сохранения зависимости, пока это новое отношение находится в BCNF.
Исходя из канонического покрытия, мы видим, что определитель A B → E
это не суперключ и так R
можно заменить на:
R1 < (A B E) , { A B → E } >
а также:
R2 < (A B C D G H) ,
{ G → C
G → H
C → B
C → G
C D → A
A B C → D } >
В R2 определитель G → C
это не суперключ и так R2
можно заменить на:
R3 < (B C G H) ,
{ G → C
G → H
C → B
C → G } >
а также:
R4 < (A D G) ,
{ D G → A
A G → D } >
Итак, окончательное разложение:
R1 < (A B E) ,
{ A B → E } >
R3 < (B C G H) ,
{ G → C
G → H
C → B
C → G } >
R4 < (A D G) ,
{ D G → A
A G → D } >
и зависимость:
{ C E → D }
не сохранился