假设关系模式R(U,F),属性集U={A,B,C),函数依赖集F={A→B,B→C)。若将其分解为p={R1(U1,F1),R2(U2,F2
假设关系模式R(U,F),属性集U={A,B,C),函数依赖集F={A→B,B→C)。若将其分解为p={R1(U1,F1),R2(U2,F2)),其中U1={A,B),U2={A,C}。那么,关系模式R、R1、R2分别达到了 (5 );分解ρ (6 ) 。
A.1NF、2NF、3NF
B.1NF、3NF、3NF
C.2 NF、2NF、3NF
D.2NF、3NF、3NF
D
题目要求分析R、R1、R2的范式级别。R有函数依赖集F={A→B,B→C)。由于A可确定B和C,所以A为主键,单个属性的主键不可能有部分依赖关系,所以R已符合2NF。进一步分析是否为3NF时,需要识别R中是否存在传递依赖。A→B,B→C属于典型的传递依赖,所以R最高只到2NF。当R被拆分为R1与R2后,R1与R2分别只有两个属性,此时的关系模式不可能存在部分依赖,也没法传递依赖(至少3个属性才可能传递),所以都达到了3NF。接下来判断是否无损分解,由于:U1∩U2=A,U1-U2=B,U2-U1=C。而R中有函数依赖:A→B,所以分解是无损分解。最后判断是否保持函数依赖:R1中包含A与B两个属性,所以A→B依赖关系被R1保持下来了。而R2中的A与C两个属性,没有保持任何函数依赖,导致函数依赖B→C丢失,所以分解没有保持函数依赖。