在第二范式的定义中,非主属性都要依赖于候选码,这个候选码必须是同一个候选码吗?
发布网友
发布时间:2022-04-23 08:59
我来回答
共1个回答
热心网友
时间:2023-10-08 23:40
属性A,B,C,D
候选码:A,B
非主属性:C,D
若C完全依赖于A,B 且 D完全依赖于A,B ->第二范式
若C不完全依赖于A,B 而 D完全依赖于A,B 不属于第二范式。即每一个非主属性都完全依赖于候选码才是。
若C依赖于A,那C是部分依赖于候选码,不是完全依赖候选码。追问举个例子:
R:
A->B
A->C
A->D
CD->A
candidate key:{CD}, A
B间接函数依赖于{CD}但直接函数依赖于A,那R是否属于NF3,如果是,能以{CD}作为主键吗?
追答CD->A A->B 但是 A->CD 所以CD->B 不符合传递依赖
R中没有传递依赖,没有部分依赖 R属于NF3
{CD}可以作为主键