数据库综合练习(一)习题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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#,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#->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.某企业有多个下属单位,每个单位有多个员工。一个员工仅属于一个单位,且一个员工仅在一个工程中工作;一个工程中有多个员工。有多个供应商为各个工程供应设备。单位属性有单位名,电话。员工属性有:员工号、姓名、性别。设备属性有:设备号、产地。供应商属性有姓名、电话。工程属性有:工程名,地点。
要求完成:1. 根据上段对企业的描述建立企业E-R模型。
2. 把E-R模型转换为相应的关系模式。
3. 试分析各关系模式满足第几范式?
(1)
(2)由概念模型-关系模型转换规则,至少可以得到6个关系模式。
单位(单位名,电话)
员工(员工号,姓名,性别)
工程(工程名,地点)
供应商(供应商姓名,电话)
设备(设备号,产地)
供应(工程名,供应商姓名,设备号)
(3)各关系模式仅存在一个或两个函数依赖,没有多值依赖。各关系模式主键为单属性或全码键,不存在部分函数依赖,也没有传递函数依赖。该题中所有关系模式均满足3NF。且各关系模式中决定因素都是键,满足BCNF。
4.设有关系模式R(A,B,C,D,E),F是R上成立的函数依赖集,F={ABC→DE, BC→D,D→E}。(1)试问R是3范式吗,如果是请说明理由,如果不是请将R分解为3范式。
解:不是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.设有系、教师、学生、课程等实体,其中:
每一个系包括系名、系址、系主任姓名、办公电话等属性;
教师实体包括工作证号码、教师名、出生日期、党派等属性;
学生实体包括学号、姓名、出生日期、性别等属性;
课程实体包括课程号、课程名、预修课号等属性。
设一个系可以有多名教师,每个教师教多门课程,一门课程由一个教师教。每一个学生可选多门课程,每门课程只有一个预修课程,每一个学生选修一门课程有一个成绩,试根据以上语义完成下述要求。
1)画出E-R图。
2)将以上的实体及实体集间的联系用关系模型表示出来
3)写出各关系模式中的函数依赖集
4)写出各关系的关键字。
5)写出各关系模式的规范化级别。
6)所有的关系模式的规范化级别都达到3NF了吗?若没有达到请将其分解以达到3NF。
解:
2) 系(系名、系址、系主任姓名、办公电话)
教师(工作证号码、教师名、出生日期、党派)
课程(课程号、课程名、预修课号)
学生(学号、姓名、出生日期、性别)
选课(课程号,学号,成绩)
任课(工作证号码,课程号)
领导(工作证号码,学号,系名)
3) 系:F={系名->系址,系名->系主任姓名,系名->办公电话,系主任姓名->办公电话}
教师:F={工作证号码->教师名,工作证号码->出生日期,工作证号码->党派,教师名->出生日期,教师名->党派}
课程:F={课程号->课程名,课程名->预修课号}
学生:F={学号->姓名,学号->出生日期,学号->性别,姓名->出生日期,姓名->性别}
选课:F={(课程号,学号)->成绩}
任课:F={课程号->工作证号码}
领导:F={工作证号码->系名,学号->系名}
4) 系:系名教师:工作证号码课程:课程号
学生:学号选课:课程号,学号
任课:课程号领导:工作证号、学号
5) 系达到3NF;教师达到3NF;课程达到2NF;学生达到3NF;选课达到3NF;任课达到3NF;领导达到1NF;
6) 不是;
课程1{课程号,课程名};课程2{课程名,预修课号}
领导1{工作证号码,系名};领导2{学号,系名}
6.某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名。
(1)根据上述语义画出ER图,在ER图中需注明实体的属性、联系的类型及实体的标识符。
(2)将ER模型转换成关系模型,并指出每个关系模式的主键和外键。
(3)分析每个关系模式已经达到第几范式。
解:
(1)
(2)
关系模型为:
工厂(工厂编号,厂名,地址)
主键是工厂编号
产品(产品编号,产品名,规格)