数据库综合练习(一)习题及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

关系模型为:

工厂(工厂编号,厂名,地址)

主键是工厂编号

产品(产品编号,产品名,规格)

相关文档
最新文档