《南京邮电大学数据库系统课后习题答案》由会员分享,可在线阅读,更多相关《南京邮电大学数据库系统课后习题答案(34页珍藏版)》请在金锄头文库上搜索。
1、4.24设有关系模式设有关系模式R(ABCD),其上的,其上的FD集集F=AB,BC,DB。参考答案:参考答案:RR分解成分解成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=DBACD和和BD是是BCNF吗?如不是,试分解成吗?如不是
2、,试分解成BCNF。解:解:分析出键分析出键分析函数依赖类型分析函数依赖类型或或按定义按定义判断范式判断范式(a)用推理规则或求属性闭包法找出键用推理规则或求属性闭包法找出键Key1:ADKey2:D(b)对对R1、F1:ADC部分依赖部分依赖1NF分解方法:算法分解方法:算法4.61AC,AD或或AD,DC对对R2、F2:按定义按定义4.24达达BCNF数据库系统数据库系统习题课二习题课二第四章习题第四章习题p* *不在任何函数依赖中的属性应列入键中不在任何函数依赖中的属性应列入键中南京邮电大学数据库系统课后习题答案4.28设有设有R(职工编号,日期,日营业额,部门名,职工编号,日期,日营业
3、额,部门名,部门经理部门经理)。每职工每天一营业额:每职工每天一营业额:(职工编号,日期职工编号,日期)日营业额日营业额每职工只在一部门工作:每职工只在一部门工作:职工编号职工编号部门名部门名每部门名只有一位部门经理:每部门名只有一位部门经理:部门名部门名部门经理部门经理参考答案:参考答案:(1)(1)R的基本函数依赖集的基本函数依赖集 F=( (职工编号,日期职工编号,日期)日营业额,日营业额, 职工编号职工编号部门名,部门名, 部门名部门名部门经理部门经理Key:( (职工编号,日期职工编号,日期) )南京邮电大学数据库系统课后习题答案(2)(2)( (职工编号,日期职工编号,日期)部门名
4、部门名 1NF 1NF ( (职工编号,日期职工编号,日期)部门经理部门经理 消除部分依赖消除部分依赖 职工编号职工编号(部门名,部门经理(部门名,部门经理 ) R1,R2= =( (职工编号职工编号, ,日期日期, ,日营业额日营业额) ), ( (职工编号职工编号, ,部门名,部门经理部门名,部门经理)F1=( (职工编号,日期职工编号,日期)日营业额日营业额 Key1:(职工编号职工编号, ,日期日期),),R1无部分依赖,达无部分依赖,达2NF F2=职工编号职工编号部门名,部门名部门名,部门名部门经理部门经理 Key2:职工编号职工编号, R2无部分依赖,达无部分依赖,达2NF pp
5、南京邮电大学数据库系统课后习题答案(3)(3)分解成分解成3NF R1无传递依赖,达无传递依赖,达3NF R2中:中:职工编号职工编号部门经理部门经理 是传是传递递依赖关系依赖关系将将R2分解为分解为3NF模式集模式集R21(职工编号职工编号, ,部门名部门名)R22(部门名,部门经理部门名,部门经理 ) ( (职工编号职工编号, ,日期日期, ,日营业额日营业额) ), ( (职工编号职工编号, ,部门名部门名) ),( (部门名部门名, ,部门经理部门经理)南京邮电大学数据库系统课后习题答案4.30设有关系模式设有关系模式R(ABCD),其上的,其上的FD集为集为F=ABC,CA,CD,A
6、CD,BCF=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,CDKey1:C按定义按定义4.19R1达达BCNFR2的的Key2:BCR2达达BCNF数据库系统数据库系统习题课二习题课二第四章习题第四章习题南京邮电大学数据库系统课后习题答案扩展:扩展:和和的的关系模式关系模式各达到第几范式?各达到第几范式? 应该为数据库模式中的每个模式达
7、到的范式应该为数据库模式中的每个模式达到的范式数据库系统数据库系统习题课二习题课二第四章习题第四章习题南京邮电大学数据库系统课后习题答案F=AB,BC,CD,AB,AD,CD解解:(1)R的关键码的关键码A(2):R1(AB),R2(AD),R3(CD)按算法按算法4.3有损有损数据库系统数据库系统习题课二习题课二第四章习题第四章习题b31b32a3a4R3:CDAiRiABCDR1:ABa1a2b13b14R2:ADa1b22b23a4a4a4a2a2b13b13(3)F1=AB,F2=AD,F3=CD(F1F2F3)F分解分解不保持函数依赖不保持函数依赖(4)R1的的Key1:A按定义按定
8、义4.19R1达达BCNFR2的的Key2:A按定义按定义4.19R2达达BCNFR3的的Key3:C按定义按定义4.19R3达达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分解分解不保持函数依赖不保持函数依赖数据
9、库系统数据库系统习题课二习题课二第四章习题第四章习题南京邮电大学数据库系统课后习题答案第五章参考答案第五章参考答案PP.180 5.14某商业集团有三个实体集。一个是某商业集团有三个实体集。一个是“公司公司”实体集,实体集,属性有公司编号、公司名、地址等。二是属性有公司编号、公司名、地址等。二是“仓库仓库”实实体集,属性有仓库编号、仓库名、地址等。三是体集,属性有仓库编号、仓库名、地址等。三是“职职工工”实体集,属性有职工编号、姓名、性别等。公司实体集,属性有职工编号、姓名、性别等。公司与仓库间存在与仓库间存在“隶属隶属”关系,每个公司管辖若干个仓关系,每个公司管辖若干个仓库,每个仓库只属于一
10、个公司管辖;仓库与间存在库,每个仓库只属于一个公司管辖;仓库与间存在“聘用聘用”联系,每个仓库可聘用多个职工,每个职工只联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。画能在一个仓库工作,仓库聘用职工有聘期和工资。画出出ERER图,并在图上注明属性、联系的类型。转换成关图,并在图上注明属性、联系的类型。转换成关系模式集,并指出每个关系模式的主键和外键。系模式集,并指出每个关系模式的主键和外键。数据库系统数据库系统习题课二习题课二第五章习题第五章习题南京邮电大学数据库系统课后习题答案ER图图仓库隶属公司职工聘用仓库名公司编号公司名仓库编号地址职工编号地址性别姓
11、名工资聘期1m1n数据库系统数据库系统习题课二习题课二第七章习题第七章习题南京邮电大学数据库系统课后习题答案关系模式集关系模式集公司(公司(公司编号公司编号,公司名,地址),公司名,地址)仓库(仓库(仓库编号仓库编号,仓库名,地址,公司编号),仓库名,地址,公司编号)职工(职工(职工编号职工编号,姓名,性别,仓库编号,聘期,姓名,性别,仓库编号,聘期,公司)公司)数据库系统数据库系统习题课二习题课二第七章习题第七章习题南京邮电大学数据库系统课后习题答案第七章参考答案第七章参考答案数据库系统数据库系统习题课二习题课二第七章习题第七章习题南京邮电大学数据库系统课后习题答案一、一、P250 7.3
12、7.3数据库系统数据库系统习题课二习题课二第七章习题第七章习题参考答案参考答案: :(1)原子性:事务的所有操作原子性:事务的所有操作“要么全做,要么全不做。要么全做,要么全不做。是数据库系统本身的职责;是数据库系统本身的职责; 由由DBMS事务管理子系统实现。事务管理子系统实现。(保证了事务的一致性保证了事务的一致性),保证数据库的完整性,保证数据库的完整性(2)一致性:事务独立执行的结果应保持一致性:事务独立执行的结果应保持DB的一致性。的一致性。是编写事务的应用程序员的职责;是编写事务的应用程序员的职责;由由DBMS完整性子系统测试。完整性子系统测试。保证数据库的完整性。保证数据库的完整
13、性。南京邮电大学数据库系统课后习题答案数据库系统数据库系统习题课二习题课二第七章习题第七章习题(3)隔离性隔离性(Isolation):-多个事务并发执行时,系统应保证与这些事务多个事务并发执行时,系统应保证与这些事务先后单独执行时的结果一样。先后单独执行时的结果一样。-由由DBMS的并发控制子系统实现。的并发控制子系统实现。-提高事务的并发度,又不让错误发生。提高事务的并发度,又不让错误发生。(4)持久性持久性(Durability):-一个已成功执行的事务对数据库的影响应该一个已成功执行的事务对数据库的影响应该是持久的,故障后可恢复。是持久的,故障后可恢复。-由由DBMS的恢复子系统实现。
14、的恢复子系统实现。-保证已写入磁盘的数据不丢失或可恢复。保证已写入磁盘的数据不丢失或可恢复。ACID准则共同保证了数据库中的数据总是正确的准则共同保证了数据库中的数据总是正确的南京邮电大学数据库系统课后习题答案二、二、P250 7.10 7.10数据库系统数据库系统习题课二习题课二第七章习题第七章习题参考答案参考答案: :(1)检查点机制的主要思想:检查点机制的主要思想: *运行过程中由运行过程中由DBMS每隔一定时间在日志中设置一个检查点每隔一定时间在日志中设置一个检查点*在检查点时刻,在检查点时刻, 把将上一个检查点后已把将上一个检查点后已commit的事务对的事务对DB的更新的更新写入磁
15、盘写入磁盘 在日志文件中登入在日志文件中登入记录记录 故障恢复时,只有最近一个检查点之后到发生故障时故障恢复时,只有最近一个检查点之后到发生故障时的事务需要恢复的事务需要恢复南京邮电大学数据库系统课后习题答案数据库系统数据库系统习题课二习题课二第七章习题第七章习题(2)COMMIT与与检查点时刻操作的协调检查点时刻操作的协调: 在检查点时刻,写入磁盘的是上一个检查点后已在检查点时刻,写入磁盘的是上一个检查点后已commit的事务对的事务对DB的更新的更新 故障恢复时,重做的是从最近一个检查点之后到故障恢复时,重做的是从最近一个检查点之后到发生故障时已发生故障时已commit的事务,这些事务被正
16、向扫描写入的事务,这些事务被正向扫描写入重做队列,并重新实施更新操作重做队列,并重新实施更新操作南京邮电大学数据库系统课后习题答案三、三、P250 7.20 7.20数据库系统数据库系统习题课二习题课二第七章习题第七章习题参考答案参考答案: :可串行化调度与串行化调度的区别:可串行化调度与串行化调度的区别: -前者交叉执行各事务的操作,效果上相当于它们的某一串前者交叉执行各事务的操作,效果上相当于它们的某一串 行执行行执行; -后者串行执行各事务,无并发意义,系统资源利用率低后者串行执行各事务,无并发意义,系统资源利用率低南京邮电大学数据库系统课后习题答案四、四、P250 7.24 7.24数
17、据库系统数据库系统习题课二习题课二第七章习题第七章习题参考答案参考答案: :完整性规则的组成:完整性规则的组成: - 何时检查,何时检查,WHENEVER - 检查什么错误,检查什么错误,IF - 检出错误怎么办,检出错误怎么办,THENSQLSQL中的完整性约束:中的完整性约束: - 域约束域约束 - 基表约束基表约束 - 检查约束检查约束 或断言或断言扩展:扩展:应了解各种约应了解各种约束的说明方法束的说明方法南京邮电大学数据库系统课后习题答案五、五、P2517.28数据库系统数据库系统习题课二习题课二第七章习题第七章习题参考答案参考答案:在基表在基表S的定义中,用检查子句的定义中,用检查
18、子句CHECK(AGEBETWEEN16AND25)在基表在基表SC的定义中,做以下说明:的定义中,做以下说明:,S#NOTNULL,C#NOTNULL,FOREIGNKEY(S#)REFERENCESS,FOREIGNKEY(C#)REFERENCESC,也可用断言也可用断言也可用域约束或断言也可用域约束或断言南京邮电大学数据库系统课后习题答案数据库系统数据库系统习题课二习题课二第七章习题第七章习题在基表在基表SCSC的定义中,用参照完整性约束的定义中,用参照完整性约束 FOREIGN KEY(C#) REFERENCES C ON DELETE FOREIGN KEY(C#) REFERE
19、NCES C ON DELETE RESTRICTRESTRICT 也可用触发器也可用触发器在基表在基表SCSC的定义中,用参照完整性约束的定义中,用参照完整性约束 FOREIGN KEY(S#) REFERENCES S ON UPDATE CASCADE FOREIGN KEY(S#) REFERENCES S ON UPDATE CASCADE南京邮电大学数据库系统课后习题答案南京邮电大学数据库系统课后习题答案课堂练习:课堂练习:某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量
20、生产产品;每个以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名、技术性有产品编号、产品名、规格,职工的属性有职工号、姓名、技术等级。请:等级。请:1.为该集团进行概念设计,画出为该集团进行概念设计,画出E-R图。图。2.将将E-R图转换成关系模式,图转换成关系模式,并指出每个关系模式的主键和外键及并指出每
21、个关系模式的主键和外键及范式级别。范式级别。南京邮电大学数据库系统课后习题答案职工职工聘用聘用工厂工厂生产生产产品产品职工号职工号姓名姓名聘期聘期工资工资地址地址工厂编号工厂编号厂名厂名产品号产品号产品名产品名规格规格数量数量n1m n技术等级技术等级南京邮电大学数据库系统课后习题答案关系模式:关系模式:职工(职工(职工号职工号,姓名,技术等级,姓名,技术等级,工厂编号工厂编号,聘期,工资)外键:工厂编号,聘期,工资)外键:工厂编号工厂(工厂(工厂编号工厂编号,厂名,地址),厂名,地址)产品(产品(产品号产品号,产品名,规格),产品名,规格)生产(生产(工厂编号工厂编号,产品号产品号,数量),
22、数量)两个外键分别为:工厂编号,产品号两个外键分别为:工厂编号,产品号3 3 CREATE TABLE CREATE TABLE生产生产(工厂编号(工厂编号 CHAR CHAR(1010) ,产品号产品号 CHAR CHAR(8 8) ,数量数量 INT INT,PRIMARY KEYPRIMARY KEY(工厂编号,产品号),(工厂编号,产品号),FOREIGN KEYFOREIGN KEY工厂编号工厂编号REFERENCESREFERENCES工厂工厂, , FOREIGN KEY FOREIGN KEY产品号产品号REFERENCESREFERENCES产品产品, ,CHECK ( CH
23、ECK ( 数量数量= 300 ) = 300 ) ););南京邮电大学数据库系统课后习题答案补充习题:补充习题:设设有有关关系系模模式式R(SNO,CNO,GRADE,TNAME,TADDR),其其属属性性分分别别表表示示学学生生学学号号、课课程程号号、成成绩绩、任任课课教教师师名名、教教师师地地址址。规规定定:每每个个学学生生一一门门课课只只有有一一个个成成绩绩;每每门门课课只只有有一一个个教教师师任任教教;每个教师只有一个地址,所有教师不同名。每个教师只有一个地址,所有教师不同名。(1)试写出关系模式试写出关系模式R基本的函数依赖和候选键。基本的函数依赖和候选键。(2)试把试把R分解成分
24、解成2NF模式集,并说明理由。模式集,并说明理由。(3)试把试把R分解成分解成3NF模式集,并说明理由。模式集,并说明理由。南京邮电大学数据库系统课后习题答案R(SNO,CNO,GRADE,TNAME,TADDR)每个学生一门课只有一个成绩;每个学生一门课只有一个成绩;每门课只有一个教师任教;每门课只有一个教师任教;每个教师只有一个地址,所有教师不同名。每个教师只有一个地址,所有教师不同名。(1)试写出关系模式试写出关系模式R基本的函数依赖和候选键基本的函数依赖和候选键F=,SNO,CNOGRADECNOTNAMETNAMETADDRKEY=SNO,CNO南京邮电大学数据库系统课后习题答案(2
25、)试把试把R分解成分解成2NF模式集,并说明理由模式集,并说明理由;=R1(SNO,CNO,GRADE),R2(CNO,TNAME,TADDR)F1=SNO,CNOGRADE,KEY=(SNO,CNO)F2=CNOTNAME,TNAMETADDR,KEY=(CNO)中中R1、R2的所有属性都是原子的,且没有非的所有属性都是原子的,且没有非主属性对候选键的部分函数依赖,达到主属性对候选键的部分函数依赖,达到2NF;南京邮电大学数据库系统课后习题答案(3)试把试把R分解成分解成3NF模式集,并说明理由模式集,并说明理由;=R1(SNO,CNO,GRADE),R21(CNO,TNAME),R22(T
26、NAME,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最高达到第几范式,说明原因最
27、高达到第几范式,说明原因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不保持函数依赖不保持函数依赖数据库系统数据库系统第四章习
28、题第四章习题南京邮电大学数据库系统课后习题答案课堂练习设有关系模式设有关系模式R R(职工名,项目名,项目费,(职工名,项目名,项目费,部门名,部门经理),如果规定每个职工可以部门名,部门经理),如果规定每个职工可以参加多个项目,每参加一个项目,就有一份项参加多个项目,每参加一个项目,就有一份项目费;每个项目只属于一个部门管理;每个部目费;每个项目只属于一个部门管理;每个部门只有一个经理。门只有一个经理。(1 1)试写出关系模式)试写出关系模式R R的基本函数依赖的基本函数依赖FDFD和候和候选键。选键。(2 2)说明)说明R R不是不是2NF 2NF 模式的理由,并把模式的理由,并把R R分
29、解分解成成2NF2NF模式集。模式集。(3 3)进而把)进而把R R分解成分解成3NF3NF模式集,并说明理由模式集,并说明理由 南京邮电大学数据库系统课后习题答案(1)试写出关系模式R的基本函数依赖FD和候选键。R R的基本的基本FDFD有有3 3个:个:(职工名,项目名)(职工名,项目名)项目费项目费项目名项目名部门名部门名部门名部门名部门经理部门经理关系模式关系模式 R R 的候选键为:(职工名,项目名)的候选键为:(职工名,项目名)南京邮电大学数据库系统课后习题答案(2)说明R不是2NF 模式的理由,并把R分解成2NF模式集。 R R中有下面两个中有下面两个FDFD:(职工名,项目名)
30、(职工名,项目名)(部门名,部门经理)(部门名,部门经理)项目名项目名(部门名,部门经理)(部门名,部门经理)因为存在非主属性组(部门名,部门经理)对因为存在非主属性组(部门名,部门经理)对候选键(职工名,项目名)的局部函数依赖,候选键(职工名,项目名)的局部函数依赖,所以所以R R不是不是2NF2NF。 R R应分解成下列两个模式:应分解成下列两个模式:R1R1(职工名,项目名职工名,项目名,项目费),项目费) R2 R2(项项目名目名,部门名,部门经理),部门名,部门经理) R1R1与与R2R2均为均为2NF2NF。南京邮电大学数据库系统课后习题答案(3)进而把R分解成3NF模式集,并说明理由。R1R1已经是已经是3NF3NF。在在R2R2中存在非主属性中存在非主属性部门经理部门经理对候选键对候选键项目名项目名的传递函数依赖,所以的传递函数依赖,所以R R不是不是3NF3NF。 R2R2应进一步分解成下列两个模式:应进一步分解成下列两个模式:R21R21(项目名项目名,部门名),部门名) R22 R22(部门名部门名,部门经理)部门经理)R21R21与与R22R22均为均为3NF3NF。最终,。最终,R R分解成分解成R1R1,R21R21,R22R22。南京邮电大学数据库系统课后习题答案