关系R(ABCDEF)具有以下功能依赖性:
A->B B->C A->D A->E,F E->F
说出其中最强的范式,然后将其转换为第三范式。
我认为该关系为第一范式,因为在候选键为A时存在部分依赖性,因此将其转换为第二/第三范式后,我将R(ABCDEF)分解为
R1(A,B,D,E,F)
R2(B,C)
R3(E,F)
不是所有这些都是第三范式吗?我完成分解了吗?
答案 0 :(得分:0)
当非素数属性依赖于候选键的适当子集时,模式不在2NF中(所谓的部分依赖)(例如,参见wikipedia)。由于在您的架构中唯一的候选键是A
,因此不可能,因此该架构在2NF中。
您在3NF中进行的分解是不正确的,因为在关系R1(A B D E F)
中,依赖项E->F
保持不变,而属性F
并非素数且并非平凡地取决于行列式超级键。
正确的分解是:
R1(A B D E)
R2(B C)
R3(E F)
请注意,在分解的情况下,R3
包含在R1
中。