含有多个候选码的主属性范围以及数据库范式判定问题
1个回答
展开全部
主属性:一个属性只要在任何一个候选码中出现过,这个属性就是主属性。
非主属性:与上面相反,没有在任何候选码中出现过,这个属性就是非主属性。
所以
此时的主属性是:H,L,I,J。
非主属性是:K
范式的判断:
第一范式(1NF)无重复的列
属性不可分
第二范式(2NF)属性完全依赖于主键[消除非主属性对主码的部分函数依赖]
符合1NF,并且,非主属性完全依赖于码
第三范式(3NF)属性不依赖于其它非主属性[消除传递依赖]
符合2NF,并且,消除传递依赖
BC范式(BCNF):符合3NF,并且,主属性不依赖于主属性
由于存在
J->K,所以K部分依赖于候选码(IJ),所以不满足第二范式。所以该模式只属于第一范式。
非主属性:与上面相反,没有在任何候选码中出现过,这个属性就是非主属性。
所以
此时的主属性是:H,L,I,J。
非主属性是:K
范式的判断:
第一范式(1NF)无重复的列
属性不可分
第二范式(2NF)属性完全依赖于主键[消除非主属性对主码的部分函数依赖]
符合1NF,并且,非主属性完全依赖于码
第三范式(3NF)属性不依赖于其它非主属性[消除传递依赖]
符合2NF,并且,消除传递依赖
BC范式(BCNF):符合3NF,并且,主属性不依赖于主属性
由于存在
J->K,所以K部分依赖于候选码(IJ),所以不满足第二范式。所以该模式只属于第一范式。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询