A-A+
设关系模式R(ABCDE)上的函数依赖集F={A→BC BCD→E B→D A→D E→A}
问题详情
设关系模式R(ABCDE)上的函数依赖集F={A→BC,BCD→E,B→D,A→D,E→A},将R分解成两个关系模式:R1=(ABD),R2=(ACE),则R1和R2的最高范式分别是(3)。
A.2NF和3NF
B.3NF和2NF
C.3NF和BCNF
D.2NF和BCNF请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:D
解析:为了方便叙述,我们先回顾一下几个范式的概念。第一范式(1NF):如果关系模式R的每个关系r的属性值都是不可分的原子值,那么称R是第一范式的模式,r是规范化的关系。关系数据库研究的关系都是规范化的关系。第二范式(2NF):若关系模式R是1NF,且每个非主属性完全函数依赖于候选键,那么称及是2NF模式。第三范式(3NF):如果关系模式R是1NF,且每个非主属性都不传递依赖于R的候选键,则称R是3NF。BC范式(BCNF):若关系模式R是1NF,且每个属性都不传递依赖于R的候选键,那么称R是BCNF模式。上述四种范式之间有如下联系:1NF2NF3NFBCNF。通过函数依赖集F可以看出A→B,B→D,A→D。因此对关系R1(ABD)而言,其主键为A,且D传递依赖于A,所以R1的最高范式是2NF。在函数依赖集F中可以找到A→C,E→A,A→E(因为B→D和BCD→E,所以有BC→E。又因为A→BC,所以有A→E)。因此,对R2(ACE)的函数依赖集是{A→C,E→A,A→E),故其主键为A或E,且不存在传递依赖。因此,R2属于BCNF。注意,很多考生都搞不清楚的一个地方:传递依赖的定义:在R(U)中,如果X→Y(Y不是X的真子集),且Y→X不成立,Y→Z则称Z对X传递函数依赖。在本题中,虽然E→A和A→C,但同时有A→E,所以不满足传递依赖的条件。