关系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)
是不是所有这些都处于第三范式?我做了分解吗?
当非素数属性依赖于候选键的适当子集(所谓的部分依赖性)时,模式不在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
中,这是不可能的。