含有多个候选码的主属性范围以及数据库范式判定问题
关系模式R(U,F),U={H,I,J,K,L},F={H->I,H->J,J->K,IJK->L,L->H,L->K},从这个关系模式中明显看出有三个候选码,分别是(H...
关系模式R(U,F),U={H,I,J,K,L},F={H->I, H->J, J->K, IJK->L, L->H, L->K},从这个关系模式中明显看出有三个候选码,分别是(H)、(L)、(I J),请问此时的主属性和非主属性到底又是什么?在多个候选码的情况下如何判断范式?该模式属于第几范式?
展开
2个回答
展开全部
主属性:一个属性只要在任何一个候选码中出现过,这个属性就是主属性。
非主属性:与上面相反,没有在任何候选码中出现过,这个属性就是非主属性。
所以 此时的主属性是: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),所以不满足第二范式。所以该模式只属于第一范式。
迈杰
2024-11-30 广告
2024-11-30 广告
迈杰转化医学研究(苏州)有限公司于2013年成立,其前身为凯杰(苏州)转化医学研究有限公司。基于基因组学、蛋白组学、细胞组学及病理组学等综合性转化医学平台,丰富的伴随诊断开发经验,高质量的管理体系以及高素质的研发管理团队,迈杰转化医学为全球...
点击进入详情页
本回答由迈杰提供
展开全部
在有多个候选码的时候仅仅对于这道题目的话选哪一个当作主键都可以的,主属性包括:h,l ,i和j,非主属性就是剩下的属性了……先去看看主属性和非主属性的定义就清楚了,判断范式的话需要明白各个范式的定义。一二范式很好理解。所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。第三范式就是要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。 鲍依斯-科得范式(BCNF):在第三范式的基础上,数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖则符合第三范式。还有两三个范式需要理解,再理解了所有范式之后看看题目属于那个范式就很明白了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询