南京邮电大学数据库系统课后习题答案2.ppt_第1页
南京邮电大学数据库系统课后习题答案2.ppt_第2页
南京邮电大学数据库系统课后习题答案2.ppt_第3页
南京邮电大学数据库系统课后习题答案2.ppt_第4页
南京邮电大学数据库系统课后习题答案2.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

4.24 设有关系模式R(ABCD),其上的FD集 F=AB,BC,DB。,参考答案:,R分解成ACD, BD,试求F在ACD和BD 上的投影。 解:实际是求F+在ACD和BD上的投影 设:R1(ACD), R2(BD) 由推理规则: F1 =AC,DC 传递性 F2 =DB,第四章(P144-145),数据库系统 习题课二 第四章习题,R(ABCD),F=AB,BC,DB。 F1 =AC ,DC ,F2 =DB ACD和BD是BCNF吗?如不是,试分解成BCNF。 解:分析出键分析函数依赖类型或按定义判断范式 (a)用推理规则或求属性闭包法找出键 Key1: AD Key2: D (b) 对R1 、 F1 : ADC 部分依赖 1NF 分解方法:算法4.6 1AC, AD 或 AD, DC 对R2、 F2 : 按定义4.24 达BCNF,数据库系统 习题课二 第四章习题,p,*不在任何函数依赖中的属性应列入键中,4.28设有R(职工编号,日期,日营业额,部门名, 部门经理)。 每职工每天一营业额:(职工编号,日期)日营业额 每职工只在一部门工作:职工编号部门名 每部门名只有一位部门经理:部门名部门经理,参考答案:,(1)R的基本函数依赖集 F=(职工编号,日期)日营业额, 职工编号部门名, 部门名部门经理 Key: (职工编号,日期),(2)(职工编号,日期)部门名 1NF (职工编号,日期)部门经理 消除部分依赖 职工编号(部门名,部门经理 ) R1,R2=(职工编号,日期,日营业额), (职工编号,部门名,部门经理) F1=(职工编号,日期)日营业额 Key1: (职工编号,日期),R1无部分依赖,达2NF F2=职工编号部门名,部门名部门经理 Key2: 职工编号, R2无部分依赖,达2NF,p,p,(3)分解成3NF R1无传递依赖,达3NF R2中:职工编号部门经理 是传递依赖关系 将R2分解为3NF模式集 R21(职工编号,部门名) R22(部门名,部门经理 ) (职工编号,日期,日营业额), (职工编号,部门名),(部门名,部门经理),4.30 设有关系模式R(ABCD),其上的FD集为 F=ABC,CA,CD, ACD, BC F=AB,BC,CD, AB,AD,CD 解 :(1)R的关键码 AB、BC (2) 中有R1(ACD), R2(BC) R1R2=C, R1R2=AD, 由F经合并性推理得: CAD,无损 (3) F1 =CA,CD , F2 = (F1F2) F 分解不保持函数依赖 (4)R1的F1 =CA,CD Key1: C 按定义4.19 R1 达BCNF R2的Key2: BC R2 达BCNF,数据库系统 习题课二 第四章习题,扩展: 和的关系模式各达到第几范式? 应该为数据库模式中的每个模式达到的范式,数据库系统 习题课二 第四章习题, F=AB,BC,CD, AB,AD,CD 解 :(1)R的关键码 A (2):R1(AB), R2(AD),R3(CD) 按算法4.3 有损,数据库系统 习题课二 第四章习题,b31,a4,R3 :CD,b14,a1,a4,(3) F1 =AB , F2 =AD,F3 =CD (F1F2 F3)F 分解不保持函数依赖 (4)R1的Key1: A 按定义4.19 R1 达BCNF R2的Key2: A 按定义4.19 R2 达BCNF R3的Key3: C 按定义4.19 R3 达BCNF,4.21设有关系模式R(ABC ),其上的FD集为 F= BC,CA , 那么分解AB, AC 相对于F是否是无损分解和保持FD?说明理由 解 (1) 中有R1(AB), R2(AC) R1R2=A, R1R2=B, R2R1=C 在F中推导不出 AB或AC,有损 (2) F1 =BA , F2 = CA (F1F2) F,丢失了BC 分解不保持函数依赖,数据库系统 习题课二 第四章习题,第五章参考答案,PP.180 5.14 某商业集团有三个实体集。一个是“公司”实体集,属性有公司编号、公司名、地址等。二是“仓库”实体集,属性有仓库编号、仓库名、地址等。三是“职工”实体集,属性有职工编号、姓名、性别等。公司与仓库间存在“隶属”关系,每个公司管辖若干个仓库,每个仓库只属于一个公司管辖;仓库与间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。画出ER图,并在图上注明属性、联系的类型。转换成关系模式集,并指出每个关系模式的主键和外键。,数据库系统 习题课二 第五章习题,ER图,数据库系统 习题课二 第七章习题,关系模式集 公司(公司编号,公司名,地址) 仓库(仓库编号,仓库名,地址,公司编号) 职工(职工编号,姓名,性别,仓库编号,聘期,公司),数据库系统 习题课二 第七章习题,第七章参考答案,数据库系统 习题课二 第七章习题,一、P250 7.3,数据库系统 习题课二 第七章习题,参考答案:,(1) 原子性:事务的所有操作“要么全做,要么全不做。 是数据库系统本身的职责; 由DBMS事务管理子系统实现。 (保证了事务的一致性),保证数据库的完整性,(2) 一致性:事务独立执行的结果应保持DB的一致性。 是编写事务的应用程序员的职责; 由DBMS完整性子系统测试。 保证数据库的完整性。,数据库系统 习题课二 第七章习题,(3) 隔离性(Isolation): -多个事务并发执行时,系统应保证与这些事务 先后单独执行时的结果一样。 -由DBMS的并发控制子系统实现。 -提高事务的并发度,又不让错误发生。,(4) 持久性(Durability): -一个已成功执行的事务对数据库的影响应该 是持久的,故障后可恢复。 -由DBMS的恢复子系统实现。 -保证已写入磁盘的数据不丢失或可恢复。,ACID准则共同保证了数据库中的数据总是正确的,二、P250 7.10,数据库系统 习题课二 第七章习题,参考答案:,(1) 检查点机制的主要思想: *运行过程中由DBMS每隔一定时间在日志中设置一个检查点 *在检查点时刻, 把将上一个检查点后已commit的事务对DB的更新 写入磁盘 在日志文件中登入记录 故障恢复时,只有最近一个检查点之后到发生故障时 的事务需要恢复,数据库系统 习题课二 第七章习题,(2) COMMIT与检查点时刻操作的协调: 在检查点时刻,写入磁盘的是上一个检查点后已 commit的事务对DB的更新 故障恢复时,重做的是从最近一个检查点之后到 发生故障时已commit的事务,这些事务被正向扫描写入 重做队列,并重新实施更新操作,三、P250 7.20,数据库系统 习题课二 第七章习题,参考答案:,可串行化调度与串行化调度的区别: -前者交叉执行各事务的操作,效果上相当于它们的某一串 行执行; -后者串行执行各事务,无并发意义,系统资源利用率低,四、P250 7.24,数据库系统 习题课二 第七章习题,参考答案:,完整性规则的组成: - 何时检查,WHENEVER - 检查什么错误,IF - 检出错误怎么办,THEN SQL中的完整性约束: - 域约束 - 基表约束 - 检查约束 或断言,扩展: 应了解各种约 束的说明方法,五、P251 7.28,数据库系统 习题课二 第七章习题,参考答案:,在基表S的定义中,用检查子句 CHECK(AGE BETWEEN 16 AND 25) 在基表SC的定义中,做以下说明: , S# NOT NULL, C# NOT NULL, FOREIGN KEY(S#) REFERENCES S, FOREIGN KEY(C#) REFERENCES C, ,也可用断言,也可用域约束或断言,数据库系统 习题课二 第七章习题,在基表SC的定义中,用参照完整性约束 FOREIGN KEY(C#) REFERENCES C ON DELETE RESTRICT,在基表SC的定义中,用参照完整性约束 FOREIGN KEY(S#) REFERENCES S ON UPDATE CASCADE,习题课二结束,课堂练习: 某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名、技术等级。请: 1. 为该集团进行概念设计,画出E-R图。 2.将E-R图转换成关系模式,并指出每个关系模式的主键和外键及范式级别。,关系模式: 职工(职工号,姓名,技术等级,工厂编号,聘期,工资)外键:工厂编号 工厂(工厂编号,厂名,地址) 产品(产品号,产品名,规格) 生产(工厂编号,产品号,数量) 两个外键分别为:工厂编号,产品号 3 CREATE TABLE生产 (工厂编号 CHAR(10) , 产品号 CHAR(8) , 数量 INT, PRIMARY KEY(工厂编号,产品号), FOREIGN KEY工厂编号REFERENCES工厂, FOREIGN KEY产品号REFERENCES产品, CHECK ( 数量= 300 ) );,补充习题: 设有关系模式R(SNO, CNO, GRADE, TNAME, TADDR),其属性分别表示学生学号、课程号、成绩、任课教师名、教师地址。规定:每个学生一门课只有一个成绩;每门课只有一个教师任教;每个教师只有一个地址,所有教师不同名。 (1) 试写出关系模式R基本的函数依赖和候选键。 (2) 试把R分解成2NF模式集,并说明理由。 (3) 试把R分解成3NF模式集,并说明理由。,R(SNO, CNO, GRADE, TNAME, TADDR) 每个学生一门课只有一个成绩; 每门课只有一个教师任教; 每个教师只有一个地址,所有教师不同名。 (1) 试写出关系模式R基本的函数依赖和候选键,KEY= SNO,CNO ,(2) 试把R分解成2NF模式集,并说明理由;,= R1(SNO, CNO, GRADE) , R2(CNO, TNAME, TADDR) ,F1= SNO,CNO GRADE, KEY=(SNO, CNO),F2=CNOTNAME,TNAMETADDR, KEY=(CNO),中R1、R2的所有属性都是原子的,且没有非主属性对候选键的部分函数依赖,达到2NF;,(3) 试把R分解成3NF模式集,并说明理由;,= R1(SNO, CNO, GRADE) , R21(CNO, TNAME) , R22(TNAME, TADDR) ,F1=SNO,CNOGRADE, KEY=(SNO, CNO),F21=CNOTNAME, KEY=(CNO),中R1、R21、R22的所有属性都是原子的, 且没有非主属性对候选键的部分和传递函数依赖, 达到3NF;,F22=TNAMETADDR, KEY=(TNAME),有关系模式R(ABCD)根据语义R的函数依赖集F = AB,BC, CD。对R有分解 R(AB),R2(ACD)。 解 (1)R的关键码 A (2) R最高达到第几范式,说明原因 2NF 理由R的非主属性为B,C,D,不存在BCD对候选键A的局部依赖,R达到2NF。但存在非主属性CD对候选键A的传递依赖,R不能达到3NF。 (3)判断是否无损,并说明原因 R1R2=A,R1R2=B,F = AB,BC, CD 即R1R2R1R2成立。无损 (4)判断是否保持了函数依赖,并说明理由。 F1= AB ,F2= AC, CD ,(F1F2)+ = F+ 丢失了BC 不保持函数依赖,数据库系统 第四章习题,课堂练习,设有关系模式R(职工名,项目名,项目费,部门名,部门经理),如果规定每个职工可以参加多个项目,每参加一个项目,就有一份项目费;每个项目只属于一个部门管理;每个部门只有一个经理。 (1)试写出关系模式R的基本函数依赖FD和候选键。 (2)说明R不是2NF 模式的理由,并把R分解成2NF模式集。 (3)进而把R分解成3NF模式集,并说明理由,(1)试写出关系模式R的基本函数依赖FD和候选键。,R的基本FD有3个: (职工名,项目名)项目费 项目名部门名 部门名部门经理 关系模式 R 的候选键为:(职工名,项目名),(2)说明R不是2NF 模式的理由,并把R分解成2NF模式集。,R中有下面两个FD: (职工名,项目名)(部门名,部门经理

温馨提示

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

评论

0/150

提交评论