练习四.docx

上传人:b****4 文档编号:4341558 上传时间:2023-05-07 格式:DOCX 页数:16 大小:26.39KB
下载 相关 举报
练习四.docx_第1页
第1页 / 共16页
练习四.docx_第2页
第2页 / 共16页
练习四.docx_第3页
第3页 / 共16页
练习四.docx_第4页
第4页 / 共16页
练习四.docx_第5页
第5页 / 共16页
练习四.docx_第6页
第6页 / 共16页
练习四.docx_第7页
第7页 / 共16页
练习四.docx_第8页
第8页 / 共16页
练习四.docx_第9页
第9页 / 共16页
练习四.docx_第10页
第10页 / 共16页
练习四.docx_第11页
第11页 / 共16页
练习四.docx_第12页
第12页 / 共16页
练习四.docx_第13页
第13页 / 共16页
练习四.docx_第14页
第14页 / 共16页
练习四.docx_第15页
第15页 / 共16页
练习四.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

练习四.docx

《练习四.docx》由会员分享,可在线阅读,更多相关《练习四.docx(16页珍藏版)》请在冰点文库上搜索。

练习四.docx

练习四

《数据库原理及应用》综合练习题    一、名词解释

   1、函数依赖 对于属性X的每一个具体值,属性Y有唯一的具体值与之对应,则称函数Y依赖于X,或称X函数决定Y,记作X→Y,X称为决定因素。

   2、非平凡函数依赖 设X→Y是关系模式R的一个函数依赖,并且Y不是X的子集,则称

X→Y是非平凡函数依赖。

   3、平凡函数依赖 设X→Y是关系模式R的一个函数依赖,并且Y是X的子集,则称

X→Y是平凡函数依赖。

   4、相互函数依赖 如果属性X和Y是1∶1的联系,则称X和Y之间的依赖关系为相互函数依赖,记作X←→Y。

   5、完全函数依赖 设X→Y是关系模式R的一个函数依赖,如果不存在X的真子集X‘,使得X‘→Y成立,则称Y完全(函数)依赖于X,或X完全(函数`)决定Y,记作X f  Y。

   6、部分函数依赖 设X→Y是关系模式R的一个函数依赖,如果存在X的真子集X‘,使得X‘→Y成立,则称Y部分(函数)依赖于X,记作X p  Y

   7、传递依赖 在同一个关系模式中,如果存在非平凡函数依赖X→Y,Y→Z,而Y→X,则称Z

传递依赖于X.

   8、候选关键字 在一个关系模式中,若一个属性或属性组K完全函数决定整个元组,则称K为该关系的一个候选关键字。

   9、主属性和非主属性 包含在任何一个候选关键字中的属性称为主属性,不包含在任何一个候选关键字中的属性称为非主属性。

   10、第一范式 在关系模式R中,若每个属性都是不可再分割的最小数据单位,则R属于第一范式,记作R∈1NF。

   11、第二范式 如果一个关系R中的所有非主属性都完全函数依赖于每个候选关键字,则称关系R属于第二范式,记作R∈2NF。

   12、第三范式  如果一个关系R中的所有非主属性都不传递依赖于任何候选关键字,则称关系R属于第三范式,记作R∈3NF。

13、BCNF 如果一个关系R中的所有属性都不传递依赖于R的任何候选关键字,或者说,关系R中的每个决定因素都是候选关键字时,则称关系R属于BCNF,记作R∈BCNF。

 

   填空题

   1、在一个关系的各属性之间存在着        、        和        这三种类型的联系。

   2、一个学生可以同时借阅多本图书,一本图书只能由一个学生借阅,学生和图书之间为   

的联系。

   3、设X→Y是关系模式R的一个函数依赖,并且Y不是X的子集,则称X→Y是         。

4、 设X→Y是关系模式R的一个函数依赖,并且Y是X的子集,则称X→Y是           。

5、 设X→Y是关系模式R的一个函数依赖,如果存在X的真子集X‘,使得X‘→Y成立,则称

Y             X,记作X p  Y

   6、如果属性X和Y是1∶1的联系,则称X和Y之间的依赖关系为       ,记作X←→Y。

──6──

   7、设X→Y是关系模式R的一个函数依赖,如果不存在X的真子集X‘,使得X‘→Y成立,则称Y                    X,记作X f  Y。

   8、在同一个关系模式中,如果存在非平凡函数依赖X→Y,Y→Z,而Y→X,则称Z

                    X。

   9、在一个关系模式中,若一个属性或属性组K完全函数数决定整个元组,则称K为该关系的一个                        。

   10、包含在任何一个候选关键字中的属性称为         ,不包含在任何一个候选关键字中的属性称为         ,

   11、在一个关系模式中,若属性或属性组X不是该关系的关键字,但它是其它关系模式的关键字,则称X为该关系的               。

   12、有一个学生关系,其关键字为学号;又有一个课程关系,其关键字为课程号;另有一个选修关系,其关键字是学号和课程号的结合,则学号和课程号分别为该关系的            。

   13、在关系模式R中,若每个属性都是不可再分割的最小数据单位,则R属于      范式,记作              。

   14、一个关系模式为Y(X1,X2,X3,X4),假定该关系存在着如下函数依赖:

(X1,X2)→X3,X2→X4,则该关系属于       范式,因为它存在着             。

   15、一个关系模式为Y(X1,X2,X3,X4),假定该关系存在着如下函数依赖:

X1→X2,X1→X3,X3→X4,则该关系属于      范式,因为它存在着             。

   16、如果一个关系R中的所有非主属性都完全函数依赖于每个候选关键字,则称关系R属于                 

                   范式,记作                 。

   17、如果一个关系R中的所有非主属性都不传递依赖于任何候选关键字,则称关系R属于      

        范式,记作           。

   18、一个关系模式为Y(X1,X2,X3,X4),假定该关系存在着如下函数依赖:

X1←→X2,X1→X3,X1→X4,则该关系属于       范式。

   19、如果一个关系R中的所有属性都不传递依赖于R的任何候选关键字,或者说,关系R中的每个决定因素都是候选关键字时,则称关系R属于    范式,记作             。

   20、关系规范化的过程是通过对初始关系模式的逐步         来实现的。

   21、从第一范式逐步规范化到第二、第三、BCNF范式的过程,就是逐步消除各种         

的过程。

   22、关系规范化应遵循            原则。

   23、关系规范化就是使用一个关系模式描述一个        ,或实体间的一种            。

 

答案:

1、一对一(或1:

1)一对多(或1:

n)8、传递依赖于

多对多(或m:

n)9、候选关键字

2、一对多(或1:

n)10、主属性非主属性

3、非平凡函数依赖11、外关键字

4、平凡函数依赖12、外关键字

5、部分依赖于13、第一R∈1NF

6、相互函数依赖14、第一部分依赖

7、完全依赖于15、第二传递依赖

16、第二R∈2NF20、分解

17、第三R∈3NF21、传递依赖

18、BCNF22、单一化

19、BCNFR∈BCNF23、实体联系

 

第5章关系数据理论习题参考答案

规范化定义小结:

定义1:

设R(U)是属性集U上的关系模式。

X,Y是属性集U的子集。

若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作XY。

(即只要X上的属性值相等,Y上的值一定相等。

术语和记号:

(P173页)

●XY,但Y不是X的子集,则称XY是非平凡的函数依赖。

若不特别声明,总是讨论非平凡的函数依赖。

●XY,但Y是X的子集,则称XY是平凡的函数依赖。

●若XY,则X叫做决定因素(Determinant)。

若XY,YX,则记作XY。

●若Y不函数依赖于X,则记作XY。

定义2:

在R(U)中,如果XY,并且对于X的任何一个真子集X’,都有X’Y,则称Y对X完全函数依赖,记作:

F

XY

若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作:

P

XY

定义3:

若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式(1NF)。

定义4:

若关系模式R∈1NF,且每一个非主属性完全函数依赖于码,则关系模式R∈2NF。

(即1NF消除了非主属性对码的部分函数依赖则成为2NF)。

定义5:

关系模式R中若不存在这样的码X、属性组Y及非主属性Z(Z不是Y的子集)使得XY,YX,YZ成立,则称R∈3NF。

定义6:

关系模式R∈1NF。

若XY且Y不是X的子集时,X必含有码,则R∈BCNF。

定义7:

关系模式R∈1NF,如果对于R的每个非平凡多值依赖XY(Y不是X的子集,Z=U-X-Y不为空),X都含有码,则称R∈4NF。

习题如下:

2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。

学生:

学号、姓名、出生年月、系名、班号、宿舍区。

班级:

班号、专业名、系名、人数、入校年份。

系:

系名、系号、系办公地点、人数。

学会:

学会名、成立年份、办公地点、人数。

语义如下:

一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。

一个系的学生住在同一宿舍区。

每个学生可参加若干学会,每个学会有若干学生。

学生参加某学会有一个入会年份。

请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。

指出各关系模式的候选码、外部码,有没有全码存在?

解:

(1)关系模式如下:

学生:

S(Sno,Sname,Sbirth,Dept,Class,Rno)

班级:

C(Class,Pname,Dept,Cnum,Cyear)

系:

D(Dept,Dno,Office,Dnum)

学会:

M(Mname,Myear,Maddr,Mnum)

(2)每个关系模式的最小函数依赖集如下:

A、学生S(Sno,Sname,Sbirth,Dept,Class,Rno)的最小函数依赖集如下:

SnoSname,SnoSbirth,SnoClass,ClassDept,DEPTRno

传递依赖如下:

由于SnoDept,而DeptSno,DeptRno(宿舍区)

所以Sno与Rno之间存在着传递函数依赖。

由于ClassDept,DeptClass,DeptRno

所以Class与Rno之间存在着传递函数依赖。

由于SnoClass,ClassSno,ClassDept

所以Sno与Dept之间存在着传递函数依赖。

B、班级C(Class,Pname,Dept,Cnum,Cyear)的最小函数依赖集如下:

ClassPname,ClassCnum,ClassCyear,PnameDept.

由于ClassPname,PnameClass,PnameDept

所以C1ass与Dept之间存在着传递函数依赖。

C、系D(Dept,Dno,Office,Dnum)的最小函数依赖集如下:

DeptDno,DnoDept,DnoOffice,DnoDnum

根据上述函数依赖可知,Dept与Office,Dept与Dnum之间不存在传递依赖。

D、学会M(Mname,Myear,Maddr,Mnum)的最小函数依赖集如下:

MnameMyear,MnameMaddr,MnameMnum

该模式不存在传递依赖。

(3)各关系模式的候选码、外部码,全码如下:

A、学生S候选码:

Sno;外部码:

Dept、Class;无全码

B、班级C候选码:

Class;外部码:

Dept;无全码

C、系D候选码:

Dept或Dno;无外部码;无全码

D、学会M候选码:

Mname;无外部码;无全码

12.下面的结论哪些是正确的?

哪些是错误的?

对于错误的请给一个反例说明之。

(1)任何一个二目关系是属于3NF。

答:

正确。

因为关系模式中只有两个属性,所以无传递。

(2)任何一个二目关系是属于BCNF.

答:

正确。

按BCNF的定义,若XY,且Y不是X的子集时,每个决定因素都包含码,对于二目关系决定因素必然包含码。

详细证明如下:

(任何二元关系模式必定是BCNF)。

证明:

设R为一个二目关系R(A1,A2),则属性A1和A2之间可能存在以下几种依赖关系:

A、A1A2,但A2A1,则关系R的码为A1,决定因素都包含码,所以,R是BCNF。

B、A1A2,A2A1,则关系R的码为A2,所以决定因素都包含码,R是BCNF。

包含码。

R是BCNF。

C、R的码为(A1,A2)(即A1A2,A2A1),决定因素都

(3)任何一个二目关系是属于4NF.

答:

正确。

因为只有两个属性,所以无非平凡的多值依赖。

第5章关系数据理论习题参考答案(补充)

1.已知学生关系模式

S(Sno,Sname,SD,Sdname,Course,Grade)

其中:

Sno学号、Sname姓名、SD系名、Sdname系主任名、Course课程、Grade成绩。

(1)写出关系模式S的基本函数依赖和主码。

答:

关系模式S的基本函数依赖如下:

Sno→Sname,SD→Sdname,Sno→SD,(Sno,Course)→Grade

关系模式S的码为:

(Sno,Course)。

(2)原关系模式S为几范式?

为什么?

分解成高一级范式,并说明为什么?

答:

原关系模式S是属于1NF的,码为(Sno,Course),非主属性中的成绩完全依赖于码,而其它非主属性对码的函数依赖为部分函数依赖,所以不属于2NF。

消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成2NF如下:

S1(Sno,Sname,SD,Sdname)、S2(Sno,Course,Grade)

(3)将关系模式分解成3NF,并说明为什么?

答:

将上述关系模式分解成3NF如下:

关系模式S1中存在Sno→SD,SD→Sdname,即非主属性Sdname传递依赖于Sno,所以S1不是3NF。

进一步分解如下:

S11(Sno,Sname,SD)S12(SD,Sdname)

分解后的关系模式S11、S12满足3NF。

对关系模式S2不存在非主属性对码的传递依赖,故属于3NF。

所以,原模式S(Sno,Sname,SD,Sdname,Course,Grade)按如下分解满足3NF。

S11(Sno,Sname,SD)S12(SD,Sdname)

S2(Sno,Course,Grade)

2、设有如图所示的学生关系S

学号

学生名

年龄

性别

系号

系名

100001

200001

200002

300001

300004

300005

王婧

张露

黎明远

王烨

张露

潘建

18

19

20

21

20

19

1

2

2

3

3

3

通信工程

电子工程

电子工程

计算机

计算机

计算机

试问S是否属于3NF?

为什么?

若不是,它属于几范式?

并将其规范化为3NF.

解:

S不属于3NF,它属于2NF。

S的候选关键字为“学号”。

依赖关系:

学号→系号,系号→系名,系号→学号

所以:

学号→系名,即存在非主属性系名对候选关键字“学号”的传递依赖,S不是3NF.

在S中所有非主属性均依赖于码学号,所以S是2NF。

将S分解成:

S1(学号,学生名,年龄,性别,系号)、S2(系号,系名),分解后的Sl与S2如图所示:

关系模式S1如下:

学号

学生名

年龄

性别

系号

100001

200001

200002

300001

300004

300005

王婧

张露

黎明远

王烨

张霹

潘建

18

19

20

21

20

19

1

2

2

3

3

3

关系模式S2如下:

系号

系名

1

2

3

通信工程

电子工程

计算机

关系模式S1、S2上无传递依赖,它们是3NF。

3.设有如下关系R

课程名

教师名

教师地址

C1

C2

C3

C4

马千里

于得水

余快

于得水

D1

D1

D2

D1

(1)它为第几范式?

为什么?

解:

它是2NF。

因为R的候选关键字为“课程名”。

依赖关系:

课程名→教师名,教师名→课程名,教师名→教师地址,所以课程名→教师地址。

即存在非主属性“教师地址”对候选关键字课程名的传递函数,因此R不是3NF。

但:

因为不存在非主属性对候选关键字的部分函数依赖,所以R是2NF。

(2)是否存在删除操作异常?

若存在,则说明是在什么情况下发生的?

解:

存在。

当删除某门课程时会删除不该删除的教师的有关信息。

(3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题?

解:

分解为高一级范式如图所示。

R1如下:

R2如下:

教师名

教师地址

马千里

于得水

余快

D1

D1

D2

课程名

教师名

C1

C2

C3

C4

马千里

于得水

余快

于得水

分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不会丢失教师方面的信息。

4.设有如图所示的关系R。

职工号

职工名

年龄

性别

单位号

单位名

E1

ZHAO

20

F

D3

CCC

E2

QIAN

25

M

D1

AAA

E3

SEN

38

M

D3

CCC

E4

L1

25

F

D3

CCC

试问R属于3NF?

为什么?

若不是,它属于第几范式?

并如何规范化为3NF?

解:

R不属于3NF,它是2NF。

R的候选关键字为职工号和职工名,而:

职工号→单位号,单位号→职工号,单位号→单位名.所以,职工号→单位名,即存在非主属性“单位名”对候选关键字职工号的传递函数依赖,所以R不是3NF,规范化后的关系子模式为如下图。

R1如下:

R2如下:

职工号

职工名

年龄

性别

单位号

E1

E2

E3

E4

ZHAO

QIAN

SEN

L1

20

25

38

25

F

M

M

F

D3

D1

D3

D3

位号

单位名

D3

D1

CCC

AAA

5、如下图给出的关系SC为第几范式?

是否存在插入、删除异常?

若存在,则说明是在什么情况下发生?

发生的原因是什么?

将它分解为高一级范式,分解后的关系能否解决操作异常问题。

表SC如下:

SNO

CNO

CTITLE

INAME

ILOCA

GRADE

80152

C1

OS

王平

D1

70

80153

C2

DB

高升

D2

85

80154

C1

OS

王平

D1

86

80154

C3

AI

杨杨

D3

72

80155

C4

CL

高升

D2

92

其中:

SNO为学号,CNO为课程号,CTITLE为课程名,INAME为教师名,ILOCA为教师地址,GRADE为成绩。

解:

SC为1NF。

它存在插入、删除异常操作。

当增设一门新课程时,因还没有学生选修,则缺少关键字的一部分SNO而不能执行插入操作;当所有学生退选某门课程而进行删除操作时,会将不法删除的课程信息删除。

SC关系中存在插入和删除操作异常的原因在于,该关系的候选关键字为(SNO,CN0),其中仅有非属性GRADE完全函数依赖于(SNO,CNO),其他非主属性CTITLE、INAME、ILOCA都只函数依赖于CNO,即它们与(SNO,CNO)为部分函数依赖关系。

分解后的关系模式如下:

SG如下:

SNO

CNO

GRADE

0152

80153

80154

80154

80155

C1

C2

C1

C3

C4

70

85

86

72

95

O

CTITLE

INAME

ILOCA

C1

C2

C3

C4

OS

DB

AI

CL

王平

高升

杨杨

高升

D1

D2

D3

D2

CI如下:

分解后的两个关系子模式都为2NF(实际上,SG是3NF,它无传递依赖)。

解决了先前的插入、删除异常操作。

当增设一门新课程时,可将数据插入到CI表中;当所有学生退选某门课程时,只需删除SG表中的有关记录,而该课程的有关信息仍保留在CI表中。

分解2NF后的CI关系中仍存在插入、删除操作异常。

若有一个新教师报到,需将其有关数据插入操作;当取消某门课程而删除CI表中的一条记录时,会将不该删除的教师的有关信息删除。

CI表中出现操作异常的原因是该关系中存在非主属性对候选关键字的传递函数依赖:

CNO→INAME,INAME→CNO,INAME→ILOCA,所以CNO→ILOCA(函数传递依赖,CI不是3NF)

将CI进一步分解为如下所示的Course和Inst两个关系,可以解决上述操作异常。

COURSEINST

INAME

ILOCA

王子

高升

杨杨

D1

D2

D3

CNO

CTITLE

INAME

C1

C2

C3

C4

OS

DB

AI

CL

王平

高升

杨杨

高升

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2