Третья нормальная форма (3NF) Разложение

Scheme (R) = (A,B,C,D,E,F,G,H)
Function Dependencies (F) = {A->CGH, AD->C, DE->F, G->H}

Может ли кто-нибудь сделать разложение схемы без потерь в схеме 3NF? Это не домашнее задание, а учебное пособие. Мне действительно нужно увидеть шаги.

Спасибо

2 ответа

Так как A → CGH и Ax → C для любой буквы x, мы можем игнорировать вторую функциональную зависимость (AD → C), потому что она не говорит нам ничего, что A → CGH также не говорит нам.

Нет ничего, что определяет B; нет ничего, что определяло бы D.

Так как G определяет H, а A определяет как G, так и H, мы можем отделить G → H в отношении (существует транзитивная зависимость A → G и G → H).

R1 = { G, H } : PK = { G }

Это оставляет F '= {A → CG, DE → F} и R' = (A, B, C, D, E, F, G).

Две оставшиеся функциональные зависимости могут образовать еще два отношения:

R2 = { A, C, G } : PK = { A }
R3 = { D, E, F } : PK = { D, E }

Это оставляет R '' = {A, B, D, E}

R4 = { A, B, D, E } : PK = { A, B, D, E }

Соединение R1, R2, R3 и R4 должно оставить вас с R, с которого вы начали, для любого начального значения R (которое удовлетворяет ограничениям заданных функциональных зависимостей).


В целом вы должны сначала получить минимальную обложку, а затем добавить ключ ABDE

licensed under cc by-sa 3.0 with attribution.