资源描述:
《数据库综合练习(一)习题及答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.现有如下关系模式:R(A#,B#,C,D,E)其中:A#B#组合为码,R上存在的函数依赖有A#B#→E,B#→C,C→D 1)该关系模式满足2NF吗?为什么? 2)如果将关系模式R分解为:R1(A#,B#,E)R2(B#,C,D)指出关系模式R1和R2的码,并说明该关系模式最高满足第几范式?(在1NF~BCNF之内)。 3)将关系模式R分解到BCNF。解:1)不是2范式,因为C部分依赖于码A#B#2)R1的码为A#B#,R2的码为B#R1最高位BCNF,R2最高为2NF。3)R1(A#,B#,
2、E)R21(B#,C)R22(C,D)2.设有一个关系模式R(S#,C#,G,TN,D),其属性S#为学号,C#课程,G成绩,TN任课教师,D教师所在系。其中学号和课程号分别与其代表的学生和课程一一对应;学生选修的课程都有成绩;每门课程只有一个任课教师,每个教师可以有多门课程,教师没有重名,一个教师只属于一个系。(1)试根据上述语义确定函数依赖集。(2)关系R属于第几范式?(3)试将关系R规范为第3范式,并说明理由。解:R(S#,C#,G,TN,D)由题意可得关系模式R的函数依赖集:(1)F={S#C#
3、->G,S#C#->TN,S#->D,C#->TN,TN->D}(2)函数依赖集存在部分函数依赖,关系模式R属于1NF。(3)R分解为如下关系模式:R1(S#,C#,G)不存在部分函数依赖及传递函数依赖,满足3NF。R2(S#,D)不存在部分函数依赖及传递函数依赖,满足3NF。R3(C#,TN)不存在部分函数依赖及传递函数依赖,满足3NF。R4(TN,D)不存在部分函数依赖集传递函数依赖,满足3NF。3.某企业有多个下属单位,每个单位有多个员工。一个员工仅属于一个单位,且一个员工仅在一个工程中工作;一个
4、工程中有多个员工。有多个供应商为各个工程供应设备。单位属性有单位名,电话。员工属性有:员工号、姓名、性别。设备属性有:设备号、产地。供应商属性有姓名、电话。工程属性有:工程名,地点。要求完成:1.根据上段对企业的描述建立企业E-R模型。2.把E-R模型转换为相应的关系模式。3.试分析各关系模式满足第几范式?姓名员工号电话单位名11.N属于员工单位(1)M性别参加工程名1地点工程N设备号供应姓名MP设备供应商电话产地(2)由概念模型-关系模型转换规则,至少可以得到6个关系模式。单位(单位名,电话)员工(员
5、工号,姓名,性别)工程(工程名,地点)供应商(供应商姓名,电话)设备(设备号,产地)供应(工程名,供应商姓名,设备号)(3)各关系模式仅存在一个或两个函数依赖,没有多值依赖。各关系模式主键为单属性或全码键,不存在部分函数依赖,也没有传递函数依赖。该题中所有关系模式均满足3NF。且各关系模式中决定因素都是键,满足BCNF。4.设有关系模式R(A,B,C,D,E),F是R上成立的函数依赖集,F={ABC→DE,BC→D,D→E}。(1)试问R是3范式吗,如果是请说明理由,如果不是请将R分解为3范式。解:不是
6、3范式R属于1NF。由于候选键是ABC。而非主属性D和E部分函数依赖于候选键ABC,因此R不是2NF,只能是1NF。分解为3范式为:R1(ABC,D,E)F(ABC->DE);R2(B,C);R3(D,E)F(D->E)(2)试问R是BC范式吗,如果是请说明理由,如果不是请将R分解为BC范式。解:不是BC范式;分解为BC范式:R11(ABC,D);R12(ABC,E);R2(BC,D);R3(D,E)5.设有系、教师、学生、课程等实体,其中:每一个系包括系名、系址、系主任姓名、办公电话等属性;教师实体
7、包括工作证号码、教师名、出生日期、党派等属性;学生实体包括学号、姓名、出生日期、性别等属性;课程实体包括课程号、课程名、预修课号等属性。设一个系可以有多名教师,每个教师教多门课程,一门课程由一个教师教。每一个学生可选多门课程,每门课程只有一个预修课程,每一个学生选修一门课程有一个成绩,试根据以上语义完成下述要求。1)画出E-R图。2)将以上的实体及实体集间的联系用关系模型表示出来3)写出各关系模式中的函数依赖集4)写出各关系的关键字。5)写出各关系模式的规范化级别。6)所有的关系模式的规范化级别都达到3
8、NF了吗?若没有达到请将其分解以达到3NF。解:系名系址系主任姓名办公电话教师名出生日期党派课程号课程名预修课号系领导教师系名课程选修学生成绩性别出生日期姓名学号工作证号码1M1nMn1)2)系(系名、系址、系主任姓名、办公电话)教师(工作证号码、教师名、出生日期、党派)课程(课程号、课程名、预修课号)学生(学号、姓名、出生日期、性别)选课(课程号,学号,成绩)任课(工作证号码,课程号)领导(工作证号码,学号,系名)3)系:F={系名->系