数据库第五章课后习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关系规范化理论题目
设关系模式R( ABC), F是R上成立的FD集,F= { B-A, C-A }, p = { AB, BC }是R上的一个分解,那么分解p是否保持FD集F并说明理由。
答:已知F={ B^A,C—A },而n AB (F) ={ B—A },n BC (F) =©,
显然,分解p丢失了FD C—A
设关系模式R (ABC,F是R上成立的FD集,F= { B-C, C-A },那么分解p ={ AB, AC }相对于F,是否无损分解和保持FD并说明理由。
答:①已知F={ B^C, C-A },
而n AB ( F) = ©,n AC (F) ={ C-A } 显然,这个分解丢失了FD B-C
②用测试过程可以知道,p相对于F是损失分解
设关系模式R( ABCD, F是R上成立的FD集,F={ A-B, B-C, A-D, D-C }, p = { AB, AC, BD }是R的一个分解。
①相对于F,p是无损分解吗为什么
②试求F在p的每个模式上的投影。
③p保持F吗为什么
答:①用测试过程可以知道,p相对于F是损失分解。
②n AB ( F) ={ A-B },n AC (F) ={ A-C },n BD ( F) = ©。
③显然,分解p不保持FD集F,丢失了B-C、A-D和D-C等三个FD。
设关系模式R (ABCD), R上的FD集F= { A-C, D-C, BD-A},试说明p = { AB, ACD, BCD }相对于F是损失分解的理由。
答:据已知的F集,不可能把初始表格修改为有一个全a行的表格,因此p相对于F 是损失分解。
设关系模式R(ABCD上FD集为F,并且F= {A-B, B-C, D-B}
①R分解成p = {ACD, BD},试求F在ACD和BD上的投影。
②ACD和BD是BCNF吗如不是,望分解成BCNR
解:①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
设关系模式R(ABCD) p ={ AB, BC, CD}是R 的一个分解。设F1 = { A-B, B-C}, F2={ B-C, C-D}。
①如果F1是R上的FD集,此时p是否无损分解若不是,试举出反例
②如果F2是R上的FD集呢
解:① 据chase过程可知,相对于F1, R分解成p是损失分解。据构造初始表的规则,这个反例可以是下面的表格:
r A B C D
1100
0110
0011
对于这个r而言,显然「工m P(r)。
② 据chase过程可知,相对于F2, R分解成p是无损分解。
设关系模式R (ABCD, F是R上成立的FD集,F= { AB-CD, A-D }。
①试说明R不是2NF模式的理由。②试把R分解成2NF模式集。
答:①从已知FD集F,可知R的候选键是AB。
另外,AB-D是一个局部依赖,因此R不是2NF模式。
②此时R应分解成p ={ AD, ABC } p是2NF模式集。
设有关系模式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 (部门名,部门经理)
这样,p = { R11, R12 R2是一个3NF模式集
设关系模式R (ABCD,在R上有5个相应的FD集及分解:
(1)F={ B^C, D—A },p ={ BC AD }
(2)F={ AB^C, C—A, C—D },p ={ ACD BC }
( 3)F={ A—BC,C—AD },p ={ ABC,AD }
(4)F={ A—B,B—C,C—D },p ={ AB,ACD }
(5)F={ A—B,B—C,C—D },p ={ AB,AD,CD }
试对上述五种情况分别回答下列问题:
①确定R 的关键码。
②是否是无损分解
③是否保持FD集
④确定p中每一模式的范式级别。
解:(1)①R的关键码为BD。
②p不是无损分解。
③p保持FD集F。
④p中每一模式已达到BCNF级别。
( 2) ① R 有两个关键码:AB 和BC。
②p是无损分解。
③因为n ACD (F) ={ C—A , C—D },n BC (F) =©(没有非平凡的FD), 所以p
不保持FD,丢失了AB—Co
④p中两模式均已达到BCNF级别。
(3)①R有两个关键码:A和C
②p是无损分解。
③因为n ABC( F) ={ A—BC, C—A }, n AD ( F) = { A—D },所以p 保持
FD。
④在模式ABC中,关键码是A或BC,属性全是主属性,但有传递依赖
(A—BC, BC—A)o因此模式ABC是3NF,但不是BCNF而模式AD显然已
是BCNF。
( 4) ① R 的关键码为A。
②p是无损分解。
③因为n AB ( F) ={ A—B },n ACD (F) ={ A—C, C—D },从这两个依赖集
推不出原来的B—C,因此p不保持FD,丢失了B—C o
④模式AB是BCNF模式ACD不是3NF,只达到2NF级别。
(5)①R的关键码为A o
②p不是无损分解。
③因为n AB ( F) ={ A—B },n AD (F) ={ A—D },n CD (F) ={ C—D },从
这三个依赖集推不出原来的B—C,因此p不保持FD,丢失了B—Co
④p中每个模式均是BCNF级别。
数据库设计题目
设某商业集团数据库中有3个实体集。一是“商店”实体集,属性有商店编号商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。