2010-12-05 4 views
12
Scheme (R) = (A,B,C,D,E,F,G,H) 

Function Dependencies (F) = {A->CGH, AD->C, DE->F, G->H} 

Как бы выполнить разложение схемы без потерь в схеме R в Третью нормальную форму (3NF)?Разложение на третью нормальную форму (3NF)

Любая помощь будет оценена по достоинству.

+0

Не следует ли учебное пособие расскажет вам процесс решения такого рода проблемы? Или, по крайней мере, дать вам ответ, на который вы можете проверить? – 2010-12-05 23:26:17

+4

нет, это отстойно – Chris 2010-12-05 23:40:41

ответ

18

Поскольку 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' = (А, В, С, D, Е, 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 (которое удовлетворяет ограничениям заданных функциональных зависимостей).

0

В целом вы должны получить мин крышку первым, а затем добавить ключ Абдэ