设关系模式R(ABCDE)上的函数依赖集F={A→BC,BCD→E,B→D,A→D,E→A},将R分解成两个关系模式:R1=(ABD),R2=(ACE),则R1和R2的最高范式分别是(3)。

admin2009-05-15  27

问题 设关系模式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,所以不满足传递依赖的条件。
转载请注明原文地址:https://kaotiyun.com/show/SKUZ777K
0

相关试题推荐
最新回复(0)