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

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

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)分析每个关系模式已经达到第几式。

解:

(2)

关系模型为:

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

主键是工厂编号

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

主键是产品编号

生产(工厂编号,产品编号,计划数量) 主键是(工厂编号,产品编号)

外键是(工厂编号,产品编号)

职工(职工号,,聘期,工资,工厂编号) 主键是职工号

外键是工程编号

(3) 每个关系模型都达到了BCNF

相关主题
相关文档
最新文档