早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

设关系模式R(ABCDE)上的函数依赖集F={A→BC,BCD→E,B→D,A→D,E→A},将R分解成两个关系模式:R1=(ABD),

题目

设关系模式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,所以不满足传递依赖的条件。