chapter4---关系数据库的规范化设计-答案.doc_第1页
chapter4---关系数据库的规范化设计-答案.doc_第2页
chapter4---关系数据库的规范化设计-答案.doc_第3页
chapter4---关系数据库的规范化设计-答案.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.4 对函数依赖XY的定义加以扩充,X和Y可以为空属性集,用表示,那么X,Y,的含义是什么?答:据推理规则的自反律可知,X和是平凡的FD,总是成立的。而Y表示在当前关系中,任意两个元组的Y值相等,也就是当前关系的Y值都相等。4.6 设关系模式R有n个属性,在模式R上可能成立的函数依赖有多少个?其中平凡的FD有多少个?非平凡的FD有多少个?解:这个问题是排列组合问题。FD形为XY,从n个属性值中选择属性组成X共有C+C+ +C=2n种方法;同理,组成Y也有2n种方法。因此组成XY形式应该有2n2n=4n种方法。即可能成立的FD有4n个。平凡的FD要求YX,组合XY形式的选择有:CC+C(C+C)+C(CC+C)+ +C(CC+ C)=C20+C21+C22+ +C2n=(1+2)n=3n即平凡的FD有3n。因而非平凡的FD有4n3n个。4.8 设关系模式R(ABCD),F是R上成立的FD集,F= AB,CB ,则相对于F,试写出关系模式R的关键码。并说明理由。解:R的关键码为ACD。因为从已知的F,只能推出ACDABCD。4.13 设关系模式R(ABCD),F是R上成立的FD集,F=AB,BC, 试写出属性集BD的闭包(BD)+。 试写出所有左部是B的函数依赖(即形为“B?”)。解:从已知的F,可推出BDBCD,所以(BD)+=BCD。由于B+=BC,因此左部是B的FD有四个:B,BB,BC,BBC。4.14 设关系模式R(ABCDE)上FD集为F,并且F=ABC,CDE,BD,EA。 试求R的候选键。 试求B+的值。解: R的候选键有四个:A、E、CD和BC。 B+=BD。4.15 设有关系模式R(ABC),其关系r如图4.20所示。 试判断下列三个FD在关系r中是否成立?ABBCABA 根据关系r,你能断定哪些FD在关系模式R上不成立?ABC123423533 图4.23解:在关系r中,AB成立,BCA不成立,BA不成立。在关系r中,不成立的FD有:BA,BAC,CA,CB,CAB,BCA。4.19 设关系模式R(ABC),F是R上成立的FD集,F= AC,BC ,试分别求F在模式AB和AC上的投影。答:AB(F)=(即不存在非平凡的FD)AC(F)= AC 4.20 设关系模式R(ABC),F是R上成立的FD集,F= BA,CA ,= AB,BC 是R上的一个分解,那么分解是否保持FD集F?并说明理由。答:已知F= BA,CA ,而AB(F)= BA ,BC(F)=,则AB(F)BC(F)= BA F(显然,分解丢失了FD CA)。所以不保持FD集F。4.21 设关系模式R(ABC),F是R上成立的FD集,F= BC,CA ,那么分解= AB,AC 相对于F,是否无损分解和保持FD?并说明理由。答:用测试过程可以知道,相对于F是损失分解。ABCABa1a2b13ACa1b22a3已知F= BC,CA ,而AB(F)= BA ,AC(F)= CA ,则AB(F)AC(F)= BA ,CA F(显然,分解丢失了FD BC)。所以不保持FD集F。4.22 设关系模式R(ABCD),F是R上成立的FD集,F= AB,BC,AD,DC ,= AB,AC,BD 是R的一个分解。 相对于F,是无损分解吗?为什么? 试求F在的每个模式上的投影。 保持F吗?为什么?答:用测试过程可以知道,相对于F是损失分解。AB(F)= AB ,AC(F)= AC ,BD(F)=。显然,分解不保持FD集F,丢失了BC、AD和DC等三个FD。4.26 设关系模式R(ABCD),F是R上成立的FD集,F= ABCD,AD 。 试说明R不是2NF模式的理由。 试把R分解成2NF模式集。答:从已知FD集F,可知R的候选键是AB。另外,ABD是一个局部依赖,因此R不是2NF模式。此时R应分解成= AD,ABC ,是2NF模式集。4.27 设关系模式R(ABC),F是R上成立的FD集,F= CB,BA 。 试说明R不是3NF模式的理由。 试把R分解成3NF模式集。答:从已知FD集F,可知R的候选键是C。从CB和BA,可知CA是一个传递依赖,因此R不是3NF模式。此时R应分解成= CB,BA ,是3NF模式集。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上有五个相应的FD集及分解:(1)F= BC,DA ,= BC,AD (2)F= ABC,CA,CD ,= ACD,BC (3)F= ABC,CAD ,= ABC,AD (4)F= AB,BC,CD ,= AB,ACD (5)F= AB,BC,CD ,= AB,AD,CD 试对上述五种情况分别回答下列问题: 确定R的关键码。 是否无损分解? 是否保持FD集? 确定中每一模式的范式级别。解:(1) F= BC,DA ,= BC,AD R的关键码为BD。(因为(BD)+=ABCD) 不是无损分解。(不存在全a行)ABCDBCb11a2a3b14ADa1b22b23a4 保持FD集F。BC(F)=BC,AD(F)=DA,而BC(F)AD(F)=BC,DAF,所以保持FD集F。 中每一模式已达到BCNF级别。(2) F= ABC,CA,CD ,= ACD,BC R有两个关键码:AB和BC。(因为(AB)+=ABCD,(BC)+=ABCD) 是无损分解。 (存在全a行)ABCDACDa1b12a3a4BCb21a2a3b24 因为ACD(F)= CA ,CD ,BC(F)=(没有非平凡的FD),而ACD(F)BC(F)=CA,CDF,丢失了ABC,所以不保持FD集F。 中两模式均已达到BCNF级别。(3) F= ABC,CAD ,= ABC,AD R有两个关键码:A和C(因为(A)+=ABCD,(C)+=ABCD) 是无损分解。(存在全a行)ABCDABCa1a2a3b14ADa1b22b23a4 因为ABC(F)= ABC,CA ,AD(F)= AD ,而ABC(F)AD(F)= ABC,CA,AD F,所以保持FD。 在模式ABC中,关键码是A或BC,属性全是主属性,但有传递依赖(ABC,BCA)。因此模式ABC是3NF,但不是BCNF。?而模式AD显然已是BCNF。注释:(ABC,BCA)不符合传递依赖的定义(因为传递依赖要求BC不决定A),不是传递依赖。所以模式ABC是BCNF。(4) F= AB,BC,CD ,= AB,ACD R的关键码为A。(因为(A)+=ABCD) 是无损分解。(存在全a行)ABCDABa1a2b13b14ACDa1b22a3a4 因为AB(F)= AB ,ACD(F)= AC,CD ,而AB(F)ACD(F)= AB,AC,CD F,丢失了BC,所以不保持FD集F。 模式AB是BCNF,模式ACD不是3NF,只达到2NF级别。(5) F= AB,BC,CD ,= AB,AD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论