数据库第五章课后习题答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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个实体集。一是“商店”实体集,属性有商店编号商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。

相关文档
最新文档