网站大量收购独家精品文档,联系QQ:2885784924

数据库第五章课后习题答案参考.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库第五章课后习题答案参考

关系规范化理论题目 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)=φ, 显然,分解ρ丢失了FD C→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 } 显然,这个分解丢失了FD B→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,丢失了FD D→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分解成ρ是损失分解。 据构造初始表的规则,这个反例可以是下面的表格: r A B C D 1 1 0 0 0 1 1 0 0 0 1 1 对于这个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 }

文档评论(0)

2017meng + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档