Может ли декомпозиция 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 }

не сохранился