数据库第五章课后习题答案关系规范化理论题⽬4.20设关系模式R(ABC),F是R上成⽴的FD集,F={B→A,C→A},ρ={AB,BC}是R上的⼀个分解,那么分解ρ是否保持FD集F?并说明理由。答:已知F={B→A,C→A},⽽πAB(F)={B→A},πBC(F)=φ,显然,分解ρ丢失了FDC→A。4.21设关系模式R(ABC),F是R上成⽴的FD集,F={B→C,C→A},那么分解ρ={AB,AC}相对于F,是否⽆损分解和保持FD?并说明理由。答:①已知F={B→C,C→A},⽽πAB(F)=φ,πAC(F)={C→A}显然,这个分解丢失了FDB→C②⽤测试过程可以知道,ρ相对于F是损失分解。4.22设关系模式R(ABCD),F是R上成⽴的FD集,F={A→B,B→C,A→D,D→C},ρ={AB,AC,BD}是R的⼀个分解。①相对于F,ρ是⽆损分解吗?为什么?②试求F在ρ的每个模式上的投影。③ρ保持F吗?为什么?答:①⽤测试过程可以知道,ρ相对于F是损失分解。②πAB(F)={A→B},πAC(F)={A→C},πBD(F)=φ。③显然,分解ρ不保持FD集F,丢失了B→C、A→D和D→C等三个FD。4.23设关系模式R(ABCD),R上的FD集F={A→C,D→C,BD→A},试说明ρ={AB,ACD,BCD}相对于F是损失分解的理由。答:据已知的F集,不可能把初始表格修改为有⼀个全a⾏的表格,因此ρ相对于F是损失分解。4.24设关系模式R(ABCD)上FD集为F,并且F={A→B,B→C,D→B}。①R分解成ρ={ACD,BD},试求F在ACD和BD上的投影。②ACD和BD是BCNF吗?如不是,望分解成BCNF。解:①F在模式ACD上的投影为{A→C,D→C},F在模式BD上的投影为{D→B}。②由于模式ACD的关键码是AD,因此显然模式ACD不是BCNF。模式ACD应分解成{AC,AD}或{CD,AD}。但是这个分解不保持FD,丢失了FDD→C或A→C。另外,模式BD已是BCNF。4.25设关系模式R(ABCD),ρ={AB,BC,CD}是R的⼀个分解。设F1={A→B,B→C},F2={B→C,C→D}。①如果F1是R上的FD集,此时ρ是否⽆损分解?若不是,试举出反例。②如果F2是R上的FD集呢?解:①据chase过程可知,相对于F1,R分解成ρ是损失分解。据构造初始表的规则,这个反例可以是下⾯的表格:rABCD110001100011对于这个r⽽⾔,显然r≠mρ(r)。②据chase过程可知,相对于F2,R分解成ρ是⽆损分解。4.26设关系模式R(ABCD),F是R上成⽴的FD集,F={AB→CD,A→D}。①试说明R不是2NF模式的理由。②试把R分解成2NF模式集。答:①从已知FD集F,可知R的候选键是AB。另外,AB→D是⼀个局部依赖,因此R不是2NF模式。②此时R应分解成ρ={AD,ABC},ρ是2NF模式集。4.28设有关系模式R(职⼯编号,⽇期,⽇营业额,部门名,部门经理),该模式统计商店⾥每个职⼯的⽇营业额,以及职⼯所在的部门和经理信息。如果规定:每个职⼯每天只有⼀个营业额;每个职⼯只在⼀个部门⼯作;每个部门只有⼀个经理。试回答下列问题:(1)根据上述规定,写出模式R的基本FD和关键码;(2)说明R不是2NF的理由,并把R分解成2NF模式集;(3)进⽽分解成3NF模式集。解:(1)基本的FD有三个:(职⼯编号,⽇期)→⽇营业额职⼯编号→部门名部门名→部门经理R的关键码为(职⼯编号,⽇期)。(2)R中有两个这样的FD:(职⼯编号,⽇期)→(部门名,部门经理)职⼯编号→(部门名,部门经理)可见前⼀个FD是局部依赖,所以R不是2NF模式。R应分解成R1(职⼯编号,部门名,部门经理)R2(职⼯编号,⽇期,⽇营业额)此处,R1和R2都是2NF模式。(3)R2已是3NF模式。在R1中,存在两个FD:职⼯编号→部门名部门名→部门经理因此,“职⼯编号→部门经理”是⼀个传递依赖,R1不是3NF模式。R1应分解成R11(职⼯编号,部门名)R12(部门名,部门经理)这样,ρ={R11,R12,R2}是⼀个3NF模式集。4.30设关系模式R(ABCD),在R上有5个相应的FD集及分解:(1)F={B→C,D→A},ρ={BC,AD}(2)F={AB→C,C→A,C→D},ρ={ACD,BC}(3)F={A→BC,C→AD},ρ={ABC,AD}(4)F={A→B,B→C,C→D},ρ={AB,ACD}(5)F={A→B,B→C,C→D},ρ={AB,AD,CD}试对上述五种情况分别回答下列问题:①确定R的关键码。②是否是⽆损分解?③是否保持FD集?④确定ρ中每⼀模式的范式级别。解:(...