admin 管理员组

文章数量: 1086019


2024年4月15日发(作者:感应异步电机和永磁同步电机)

第7章 关系规范化理论

一、单项选择题

1.关系规范化中的删除操作异常是指 ① ,插入操作异常是指 ② 。

A.不该删除的数据被删除 B.不该插入的数据被插入

C.应该删除的数据未被删除 D.应该插入的数据未被插入

答案:①A ②D

2.设计性能较优的关系模式称为规范化,规范化主要的理论依据是 。

A.关系规范化理论 B.关系运算理论

C.关系代数理论 D.数理逻辑

答案:A

3.规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中的关

系必须满足:其每一属性都是 。

A.互不相关的 B.不可分解的

C.长度可变的 D.互相关联的

答案:B

4.关系数据库规范化是为解决关系数据库中 问题而引入的。

A.插入、删除和数据冗余 B.提高查询速度

C.减少数据操作的复杂性 D.保证数据的安全性和完整性

答案:A

5.规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及 的缺陷。

A.数据的不一致性 B.结构不合理

C.冗余度大 D.数据丢失

答案:C

6.当关系模式R(A,B)已属于3NF,下列说法中 是正确的。

A.它一定消除了插入和删除异常 B.仍存在一定的插入和删除异常

C.一定属于BCNF D.A和C都是

答案:B

7. 关系模式1NF是指_________。

A. 不存在传递依赖现象 B. 不存在部分依赖现象

C.不存在非主属性 D. 不存在组合属性

答案:D

8. 关系模式中2NF是指_______。

A.满足1NF且不存在非主属性对关键字的传递依赖现象

B.满足1NF且不存在非主属性对关键字部分依赖现象

C.满足1NF且不存在非主属性

D.满足1NF且不存在组合属性

答案:B

9. 关系模式中3NF是指___________。

A.满足2NF且不存在非主属性对关键字的传递依赖现象

B.满足2NF且不存在非主属性对关键字部分依赖现象

C.满足2NF且不存在非主属性

D.满足2NF且不存在组合属性

答案:A

10.关系模型中的关系模式至少是 。

A.1NF B.2NF C.3NF D.BCNF

答案:A

11.关系模式中,满足2NF的模式, 。

A.可能是1NF B.必定是1NF

C.必定是3NF D.必定是BCNF

答案:B

12.X→Y为平凡函数依赖是指__________。

A.X

答案:C

13.若关系模式R∈1NF,且R中若存在X→Y,则X必含关键字,称该模式_______。

A.满足3NF B.满足BCNF C.满足2NF D.满足1NF

答案:B

14.在关系模式中,如果属性A和B存在1对1的联系,则说 。

A.A→B B.B→A C.A←→B D.以上都不是

答案:C

15.候选关键字中的属性称为 。

A.非主属性 B.主属性 C.复合属性 D.关键属性

答案:B

16.关系模式中各级模式之间的关系为 。

A.3NF2NF1NF B.3NF1NF2NF

C.1NF2NF3NF D.2NFlNF3NF

答案:A

17.消除了部分函数依赖的1NF的关系模式,必定是 。

A.1NF B.2NF C.3NF D.BCNF

答案:B

18.关系模式的候选关键字可以有 ① ,主关键字有 ② 。

A.0个 B.1个 C.1个或多个 D.多个

答案:①C ②B

19.候选关键字中的属性可以有 。

A.0个 B.1个 C.1个或多个 D.多个

答案:C

20.关系模式的分解 。

A.惟一 B.不惟一

答案:B

21.什么样的关系模式是严格好的关系模式________。

A.优化级别最高的关系模式 B.优化级别最高的关系模式

C.符合3NF要求的关系模式 D.视具体情况而定

答案:D

22.按照规范化设计要求,通常以关系模式符合______为标准。

A.1NF B.2NF C.3NF D.BCNF

答案:C

23.设某关系模式S(SNO,CNO,G,TN,D),其中SNO表示学号,CNO表示课程号,G表示

成绩,TN表示教师姓名,D表示系名。属性间的依赖关系为:

(SNO,CNO)→G,CNO→TN,TN→D。则该关系模式最高满足_______。

A.1NF B.2NF C.3NF D.BCNF

答案:A

24.设某关系模式S(SNO,CNO,G,TN,D),其属性的含义及属性间的依赖关系同23题,

若将S分解为S1(SNO,CNO,G)、S2(CNO,TN)、S3(TN,D),则S1最高满足___①____、

S2最高满足___②____、S3最高满足___③_____。

A.1NF B.2NF C.3NF D.BCNF

答案:①D ②D ③D

25.设某关系模式R(ABCD),函数依赖{B→D,AB→C},则R最高满足_______。

A.1NF B.2NF C.3NF D.BCNF

答案:A(AB为Key)

26.设某关系模式R(ABC),函数依赖{A→B,B→A,A→C},则R最高满足_______。

A.1NF B.2NF C.3NF D.BCNF

答案:C(A为Key)

27.设某关系模式R(ABC),函数依赖{A→B,B→A,C→A},则R最高满足_______。

A.1NF B.2NF C.3NF D.BCNF

答案:B(C为Key)

28.设某关系模式R(ABCD),函数依赖{A→C,D→B},则R最高满足_______。

A.1NF B.2NF C.3NF D.BCNF

答案:A(AD为Key)

29.设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:C为课程,P为教师,S

为学生,G为成绩,T为时间,R为教室,根据定义有如下函数依赖集:

F={C→G,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R}

关系模式W的一个关键字是 ① ,W的规范化程度最高达到 ② 。若

将关系模式W分解为3个关系模式W1(C,P),W2(S,C,G),W3(S,T,R,C),则W1的规

范化程度最高达到 ③ ,W2的规范化程度最高达到 ④ ,W3的规范化程

度最高达到 ⑤ 。

①A.(S,C) B.(T,R) C.(T,P) D.(T,S) E.(T,S,P)

②③④⑤ A.1NF B.2NF C.3NF D.BCNF E.4NF

答案:①E ②B ③E ④E ⑤B

二、填空题

1.关系规范化的目的是 。

答案:控制冗余,避免插入和删除异常,从而增强数据库结构的稳定性和灵活性

2.在关系A(S,SN,D)和B(D,CN,NM中,A的主键是S,B的主键是D,则D在S中称

为 。

答案:外码

3.对于非规范化的模式,经过 ① 转变为1NF,将1NF经过 ② 转变为2NF,

将2NF经过 ③ 转变为3NF。

答案:①使属性域变为简单域

②消除非主属性对主关键字的部分依赖

③消除非主属性对主关键字的传递依赖

4.在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于 。

答案:1NF

5.1NF,2NF,3NF之间,相互是一种 关系。

答案:3NF2NF1NF

6.若关系为1NF,且它的每一非主属性都 候选关键字,则该关系为2NF。

答案:不部分函数依赖于

7.在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有的

依赖关系和 。

答案:无损连接性

三.应用题

1.理解并给出下列术语的定义

函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、候选码、主码、外码、全码、

1NF、2NF、3NF、BCNF。

解:

定义1:设R(U)是属性集U上的关系模式。X,Y是属性集U的子集。若对于R(U)的任意一

个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,

则称X函数确定Y或Y函数依赖于X,记作XY。(即只要X上的属性值相等,Y上的值一

定相等。)

术语和记号:

XY,但Y不是X的子集,则称XY是非平凡的函数依赖。若不特别声明,总是讨论非平

凡的函数依赖。

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

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

若XY,YX,则记作XY。

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

定义2:在R(U)中,如果 XY,并且对于X的任何一个真子集X’,都有X’ Y,则称

f

Y对X完全函数依赖,记作: X → Y。

p

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

如果X→Y(非平凡函数依赖,并且Y—/→X)、Y→Z,则称Z传递函数依赖于X。

f

定义3:候选码:设K为R(U,F)中的属性或属性组,若K→U,则K为R候选码。(K为决定

R全部属性值的最小属性组)。

主码:关系R(U,F)中可能有多个候选码,则选其中一个作为主码。

全码:整个属性组是码,称为全码(All-key) 。

主属性与非主属性:包含在任何一个候选码中的属性 ,称为主属性(Prime

attribute) 。不包含在任何码中的属性称为非主属性(Nonprime attribute)或非码属性

(Non-key attribute)。

外码:关系模式

R

中属性或属性组

X

并非

R

的码,但

X

是另一个关系模式的码,

则称

X

R

的外部码(Foreign key)也称外码。

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

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

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

定义6:关系模式R 中若不存在这样的码X、属性组Y及非主属性Z(Z不是Y的子集)

使得XY,Y X,Y Z成立,则称R∈3NF。

(若

R

∈3NF,则每一个非主属性既不部分依赖于码也不传递依赖于码。 )

定义7:关系模式R∈1NF 。若XY且Y不是X的子集时,X必含有码,则R

BCNF。

2.指出下列关系模式是第几范式并说明理由。

(1) R(X,Y,Z)

F={XY→Z}

(2) R(x,Y,z)

F={Y→z,XZ→Y}

(3) R(X,Y,Z)

F={Y→Z,Y→X,X→YZ}

(4) R(x,Y,z)

F={X→Y,X→Z}

(5) R(x,Y,Z)

F={XY→Z}

(6) R(W,X,Y,Z)

F={X→Z,WX→Y}

解:

(1) R是BCNF。

R候选关键字为XY,F中只有一个函数依赖,而该函数依赖的左部包含了R的候选关键

字XY。

(2) R是3NF。

R候选关键字为XY和XZ,R中所有属性都是主属性,不存在非主属性对的候选关键字

的传递依赖。

(3) R是BCNF。

R候选关键字为X和Y,∵X→YZ,∴X→Y,X→Z,由于F中有Y→Z,Y→X,因此Z是

直接函数依赖于X,而不是传递依赖于X。又∵F的每一函数依赖的左部都包含了任一候选

关键字,∴R是BCNF。

(4) R是BCNF。

R的候选关键字为X,而且F中每一个函数依赖的左部都包含了候选关键字X。

(5) R是BCNF。

R的候选关键字为XY,而且F中函数依赖的左部包含了候选关键字XY。

(6) R是1NF。

R的候选关键字为WX,则Y,Z为非主属性,又由于X→Z,因此F中存在非主属性对候

选关键字的部分函数依赖。

3.设有关系模式R(U,F),其中:

U={A,B,C,D,E,P},F={A→B,C→P,E→A,CE→D}

求出R的所有候选关键字。

解:根据候选关键字的定义:如果函数依赖X→U在R上成立,且不存在任何X’ X,使

得X→U也成立,则称X是R的一个候选关键字。由此可知,候选关键字只可能由A,C,E

组成,但有E→A,所以组成候选关键字的属性可能是CE。

计算可知:(CE)=ABCDEP,即CE→U

而:C=CP,E=ABE ∴R只有一个候选关键字CE。

++

+

补充知识:

在关系模式

R

中为

F

所逻辑蕴含的函数依赖的全体叫作

F

的闭包,记为

F

+

F

为属性集

U

上的一组函数依赖,

X

U

X

F

={

A|X

A

能由

F

根据Armstrong公理导

+

出},

X

F

称为属性集

X

关于函数依赖集

F

的闭包。

Armstrong公理系统:

A1.自反律(Reflexivity):若

Y

X

U

,则

X

Y

F

所蕴含。

A2.增广律(Augmentation):若

X

Y

F

所蕴含,且

Z

U

,则

XZ

YZ

F

所蕴含。

A3.传递律(Transitivity):若

X

Y

Y

Z

F

所蕴含,则

X

Z

F

所蕴含。

根据A1,A2,A3这三条推理规则可以得到下面三条推理规则:

– 合并规则:由

X

Y

X

Z

,有

X

YZ

(A2, A3)

– 伪传递规则:由

X

Y

WY

Z

,有

XW

Z

(A2, A3)

– 分解规则:由

X

Y

ZY

,有

X

Z

(A1, A3)

算法 求属性集

X

X

U

)关于

U

上的函数依赖集

F

的闭包

X

F

+

输入:

X

F

步骤:

(1)令

X

(0)

=

X

i

=0

输出:

X

F

+

+

(2)求

B

,这里

B

= {

A

|(

(3)

X

(i+1)

=

B

X

(i)

V)(

W

)(

V

WF

V X

(i)

A

W)

};

(4)判断

X

(i+1)

=

X

(i)

(5)若相等或

X

(i)

=

U ,

X

(i)

就是

X

F

+

, 算法终止。

(6)若否,则

i

=

i

+l,返回第(2)步。

举例: 已知关系模式

R

<

U

F

>,其中

U

={

A,B,C,D,E

};

F

={

AB

C

B

D

C

E

EC

B

AC

B

}。

求(

AB

F

解 设

X

(0)

=

AB

(1)

计算X

(1),逐一扫描F集合中各函数依赖,找左部为A,B,或AB的函数依赖,得到

+

两个:

AB

C,B

D

,于是

X

(1)

=

AB

CD

=

ABCD

(2) X

(0)

X

(1),所以再找出左部为ABCD子集的那些函数依赖,又得到

C

E

AC

B

X

(2)

=

X

(1)

BE

=

ABCDE

(3)

X

(2)

=U,算法终止

所以:(

AB

F

+

=

ABCDE

4.设有关系模式R(C,T,S,N,G),其上的函数依赖集:

F={C→T,CS→G,S→N}

求出R的所有候选关键字。

解:根据候选关键字的定义,R的候选关键字只可能由F中各个函数依赖的左边属性组成,

即C,S,所以组成候选关键字的属性可能是CS。

计算可知:(CS)=CGNST,即CS→U

而:C=CT,S=NS

∴R只有一个候选关键字CS。

5.设有关系模式R(A,B,C,D,E),其上的函数依赖集:

F={A→BC,CD→E,B→D,E→A}

(1) 计算B。

+

++

+

(2) 求出R的所有候选关键字。

解:

(1) 令X={B},X(0)=B,X(1)=BD,X(2)=BD,故B=BD。

(2) 根据候选关键字定义,R的候选关键字只可能由F中各个函数依赖的左边属性组成,

即A,B,C,D,E,由于A→BC(A→B,A→C),B→D,E→A,故:

·可除去A,B,C,D,∴组成候选关键字的属性可能是E。

计算可知:E=ABCDEE,即E→U,∴E是一个候选关键字。

·可除去A,B,E,∴组成候选关键字的属性可能是CD。

计算可知:(CD)=ABCDE,即CD→U,但C=C,D=D,∴CD是一个候选关键字。

·可除去B,C,D,E,∴组成候选关键字的属性可能是A。

计算可知:A=ABCDE,即A→U,∴A是一个候选关键字。

·可除去A,D,E,∴组成候选关键字的属性可能是BC。

计算可知:(BC)=ABCDE,即CD→U,但B=BD,C=C,∴BC是一个候选关键字。

R的所有候选关键字是A,BC,CD,E。

6.设有关系模式R(U,F),其中:

U={A,B,C,D,E},F={A→D,E→D,D→B,BC→D,DC→A}

(1) 求出R的候选关键字。

(2) 判断ρ={AB,AE,CE,BCD,AC}是否为无损连接分解

解:

(1) (CE)=ABCDE,则CE→U,而C=C,E=DE=BDE,根据候选关键字定义,CE是R的候

选关键字。

(2) ρ的无损连接性判断表如下表所示,由此判断不具有无损连接性。

Ri A B C D E

AB

AE

CE

BCD

AC

a1

a1

a1

a2

a2

a3

a3

a3

a4

a5

a5

+++

+++

+

+++

+

7.设有关系模式R(A,B,C,D,E)及其上的函数依赖集F={A→C,B→D,C→D,DE→C,

CE→A},试问分解ρ={R1(A,D),R2(A,B),R3(B,E),R4(C,D,E),R5(A,E)}是否为

R的无损连接分解

解:p的无损连接性判断结果表如下表所示,由此判断不具有无损连接性。

Ri A B C D E

AD

AB

BE

CDE

AE

a1

a1

a1

a2

a2

a3

a4

a4

a5

a5

a5

8.设有函数依赖集F={AB→CE,A→C,GP→B,EP→A,CDE→P,HB→P,D→HG,ABC→PG},

计算属性集D关于F的闭包D。

解:令X={D},X(0)=D。

在F中找出左边是D子集的函数依赖,其结果是:D→HG,∴X(1)=X(0)HG=DGH,

+

显然有X(1)≠X(0)。

在F中找出左边是DGH子集的函数依赖,未找到,则X(2)=DGH。由于X(2)=X(1),

则:D=DOH

9.已知关系模式R的全部属性集U={A,B,C,D,E,G}及函数依赖集:

F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG}

求属性集闭包(BD)。

解:令X={BD},X(0)=BD,X(1)=BDEG,X(2)=BCDEG,X(3)=ABCDEG,故(BD)=ABCDEG。

10.设有函数依赖集F={D→G,C→A,CD→E,A→B),计算闭包D,C,A,(CD),(AD),

(AC),(ACD)。

解:

令X={D},X(0)=D,X(1)=DG,X(2)=DG,故D=DG。

令X={C},X(0)=C,X(1)=AC,X(2)=ABC,X(3)=ABC,故C=ABC。

令X={A},X(0)=A,X(1)=AB,X(2)=AB,故A=AB。

令X={CD},X(0)=CD,X(1)=CDG,X(2)=ACDG,X(3)=ACDEG,X(4)=ABCDEG,

故(CD)=ABCDEG。

令X={AD},X(0)=AD,X(1)=ABD,X(2)=ABDG,X(3)=ABDG,故(AD)=ABDG。

令X={AC},X(0)=AC,X(1)=ABC,X(2)=ABC,故(AC)=ABC。

令X={ACD},X(0)=ACD,X(1)=ABCD,X(2)=ABCDG,X(3)=ABCDEG,故(ACD)=ABCDEG。

11.设有函数依赖集F={AB→CE,A→C,GP→B,EP→A,CDE→P,HB→P,D→H,ABC→PG,

求与F等价的最小函数依赖集。

解:(1) 将F中依赖右部属性单一化:

AB→C HB→P

AB→E D→H

F1= A→C D→G

GP→B ABC→P

EP→A ABC→G

CDE→P

(2) 对于AB→C,由于有A→C,则为多余的:

AB→E HB→P

A→C D→H

F2= GP→B D→G

EP→A ABC→P

CDE→P ABC→G

(3) 通过分析没有多余的依赖,则:

AB→E HB→P

A→C D→H

F3= GP→B D→G

EP→A ABC→P

CDE→P ABC→G

+

+

+

+

+

+

+

++

+++++

+

+

+

补充知识:

如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集。亦称为最小依赖集或最小

覆盖。

(1) F中任一函数依赖的右部仅含有一个属性。

(2) F中不存在这样的函数依赖X→A,使得F与F-{X→A}等价。

(3) F中不存在这样的函数依赖X→A, X有真子集Z使得F-{X→A}∪{Z→A}与F等价。

[例] 关系模式

S

<

U

F

>,其中:

U

={ Sno,Sdept,Mname,Cno,Grade },

F

={ Sno→Sdept,Sdept→Mname,(Sno,Cno)→Grade }

设F

={Sno→Sdept,Sno→Mname,Sdept→Mname,

(Sno,Cno)→Grade,(Sno,Sdept)→Sdept}

F

是最小覆盖,而

F’

不是。

因为:

F ’

- {Sno→Mname}与

F

’等价

F ’

- {(Sno,Sdept)→Sdept}也与

F

’等价

定理:每一个函数依赖集

F

均等价于一个极小函数依赖集

F

。此

F

称为

F

的最小依赖集。

mm

证明: 构造性证明,找出

F

的一个最小依赖集。

(1)逐一检查

F

中各函数依赖

FD

i

X

Y,

Y

=

A

1

A

2

A

k

k

> 2, 则用 {

X

A

j

|

j

=1,2,…,

k

} 来取代

X

Y

(2)逐一检查

F

中各函数依赖

FD

i

X

A

,令

G

=

F

-{

X

A

},

AX

G

+

, 则从

F

中去掉此函数依赖。

(3)逐一取出

F

中各函数依赖

FD

i

X

A

,设

X

=

B

1

B

2

B

m

逐一考查

B

i

i

=l,2,…,

m

),若

A

X

-

B

i

F

+

则以

X

-

B

i

取代

X。

12.设有关系模式R(U,F),其中:

U={E,F,G,H},F={E→G,G→E,F→EG,H→EG,FH→E}

求F的最小依赖集。

解:

(1) 将F中依赖右部属性单一化:

F1={E→G,G→E,F→E,F→G,H→E,H→G,FH→E}

(2) 对于FH→E,由于有F→E,则为多余的,则:

F2={E→G,G→E,F→E,F→G,H→E,H→G}

(3) 由于E→G,所以在F2中的F→E和F→G以及H→E和H→G之一是多余的,则:

F3={E→G,G→E,F→G,H→G}

或F3={E→G,G→E,F→G,H→E}

或F3={E→G,G→E,F→E,H→E}

或F3={E→G,G→E,F→E,H→G}

13.设有关系模式R(U,F),其中:

U={A,B,C,D},F={A→B,B→C,D→B},把R分解成BCNF模式集:

(1) 如果首先把R分解成{ACD,BD},试求F在这两个模式上的投影。

(2) ACD和BD是BCNF吗如果不是,请进一步分解。

解:

(1) Π

ACD

(F)={A→C,D→C}

Π

BD

(F)={D→B}

(2) BD已是BCNF。

ACD不是BCNF。模式ACD的候选关键字是AD。考虑A→C,A不是模式ACD的候选关键

字,所以这个函数依赖不满足BCNF条件。将ACD分解为AC和AD,此时AC和AD均为BCNF。

14.设有关系模式R(A,B,C,D),其上的函数依赖集:

F={A→C,C→A,B→AC,D→AC}

(1) 计算(AD)。

(2) 求F的最小等价依赖集Fm。

(3) 求R的关键字。

(4) 将R分解使其满足BCNF且无损连接性。

(5) 将R分解成满足3NF并具有无损连接性与保持依赖性。

解:

(1) 令X={AD},X(0)=AD,X(1)=ACD,X(2)=ACD,故(AD)=ACD。

(2) 将F中的函数依赖右部属性单一化:

A→C C→A

F1= B→A B→C

D→A D→C

在Fl中去掉多余的函数依赖:

∵B→A,A→C ∴B→C是多余的。

又∵D→A,A→C ∴D→C是多余的。

A→C C→A

F2=

B→A D→A

函数依赖集的最小集不是惟一的,本题中还可以有其他答案。

∵F2中所有依赖的左部却是单属性,∴不存在依赖左部有多余的属性

∴ A→C C→A

F=

B→A D→A

(3) ∵BD在F中所有函数依赖的右部均未出现

∴候选关键字中一定包含BD,而(BD)=ABCD,因此,BD是R惟一的候选关键字。

(4) 考虑A→C

∵AC不是BCNF(AC不包含候选关键字BD),将ABCD分解为AC和ABD。

AC已是BCNF,进一步分解ABD,选择B→A,把ABD分解为AB和BD。

此时AB和AD均为BCNF

∴ρ={AC,AB,BD}。

(5) 由(2)可求出满足3NF的具有依赖保持性的分解为ρ={AC,BD,DA}。

判断其无损连接性如下表所示,由此可知ρ不具有无损连接性。

Ri A B C D

AC

BA

DA

a1

a1

a1

a2

a3

a3

a3

a4

+

+

+

令ρ=ρ∪{BD},BD是R的候选关键字

∴p={AC,BA,DA,BD}。

15.己知关系模式R(CITY,ST,ZIP)和函数依赖集:

F={(CITY,ST)→ZIP,ZIP→CITY}

试找出R的两个候选关键字。

解:设U=(CITY,ST,ZIP),F中函数依赖的左边是CITY,ST,ZIP:

· 由于ZIP→CITY,去掉CITY,故(ST,ZIP)可能是候选关键字。

(ST,ZIP)={ST,ZIP,CITY},∴(ST,ZIP)→U。

又ST=ST,ZIP={ZIP,CITY},故(ST,ZIP)是一个候选关键字。

·由于(CITY,ST)→ZIP,去掉ZIP,故(CITY,ST)可能是候选关键字。

(CITY,ST)={CITY,ST,ZIP},∴(CITY,ST)→U。

又CITY=CITY,ST=ST,故(CITY,ST)是一个候选关键字。

因此,R的两个候选关键字是(ST,ZIP)和(CITY,ST)。

16.设有关系模式R(A,B,C,D,E),R的函数依赖集:

F={A→D,E→D,D→B,BC→D,CD→A}

(1) 求R的候选关键字。

(2) 将R分解为3NF。

解:

(1) 设U=(A,B,C,D,E),由于(CE)=ABCDE,C=C,E=BDE

∴R的候选关键字是CE。

(2) 求出最小依赖集F′={A→D,E→D,D→B,BC→D,CD→A}

将R分解的3NF:ρ={AD,DE,BD,BCD,ACD}。

17.设有关系模式R(U,V,W,X,Y,Z),其函数依赖集:

F={U→V,W→z,Y→U,WY→X},现有下列分解:

(1) ρl={WZ,VY,WXY,UV}

(2) ρ2={UVY,WXYZ}

判断上述分解是否具有无损连接性。

解:

(1) ρ1的无损连接性判断表如下所示,由此判断ρ1不具有无损连接性。

Ri U V W X Y Z

WZ

VY

WXY

UV

a1

a2

a2

a3

a3

a4

a5

a5

a6

a6

+++

++

+

++

+

(2) ρ2的无损连接性判断表如下所示,由此判断ρ2具有无损连接性。

Ri U V W X Y Z

UVY a1 a2

a2

a3

a4

a5

a5

a6 WXYZ a1

18.已知R(Al,A2,A3,A4,A5)为关系模式,其上函数依赖集:

F={Al→A3,A3→A4,A2→A3,A4A5→A3,A3A5→A1}

ρ={Rl(Al,A4),R2(A1,A2),R3(A2,A3),R4(A3,A4,A5),R5(Al,A5)}

判断ρ是否具有无损连接性。

解:ρ的无损连接性判断表如下所示,由此判断ρ不具有无损连接性。

Ri A1 A2 A3 A4 5

A1A4

A1A2

A2A3

A1A5

a1

a1

a1

a2

a2

a3

a3

a3

a3

a3

a4

a4

a4

a4

a4

a5

a5

A3A4A5 a1

19.设有关系模式R(B,O,I,S,Q,D},其上函数依赖集:

F={S→D,I→B,IS→Q,B→O}

如果用SD,IB,ISQ,BO代替R,这样的分解是具有无损连接吗

解:ρ={Rl(S,D),R2(I,B),R3(I,S,Q),R4(B,O) }

ρ的无损连接性判断表如下所示,由此判断ρ具有无损连接性。

Ri B O I S Q D

SD

IB

ISQ

BO

a1

a1

a1

a2

a2

a3

a3

a4

a4

a5

a5

a6

a6

20.设有关系模式R(F,G,H,I,J),R的函数依赖集:

F={F→I,J→I,I→G,GH→I,IH→F}

(1) 求出R的所有候选关键字。

(2) 判断ρ={FG,FJ,JH,IGH,FH}是否为无损连接分解

(3) 将R分解为3NF,并具有无损连接性和依赖保持性。

解:

(1) 从F中看出,候选关键字中至少包含J和H(因为它们不依赖于谁),计算:

令X={JH},X(0)=JH,X(1)=IJH,X(2)=GIJH,X(3)=FGIJH

∴候选关键字只有JH。

(2) ρ的无损连接性判断表如下所示,由此判断ρ不具有无损连接性。

Ri F G H I J

FG

FJ

JH

IGH

FH

a1

a1

a1

a2

a2

a3

a3

a3

a3

a4

a4

a5

a5

(3) 求出最小依赖集F′={F→I,J→I,I→Gl GH→I,IH→F}

∴满足3NF且具有依赖保持性的分解为:

ρ={FI,JI,IG,GHI,IHE}

ρ的无损连接性判断结果如下所示,由此判断ρ不具有无损连接性。

Ri F G H I J

FI

JI

IG

a1

a2

a2

a2

a4

a4

a4

a5

a5

GHI

IHE

a1

a1

a2

a2

a3

a3

a4

a4

令ρ=ρ∪{JH},JH是R的候选关键字。

∴ρ={FI,JI,IG,GHI,IHF,JH}具有无损连接性和依赖保持性

21.设有关系模式R(A,B,C,D,E),其上的函数依赖集:

F={A→C,C→D,B→C,DE→C,CE→A}

(1) 求R的所有候选关键字。

(2) 判断ρ={AD,AB,BC,CDE,AE}是否为无损连接分解

(3) 将R分解为BCNF,并具有无损连接性。

解:

(1) 从F中看,候选关键字至少包含BE(因为它们不依赖于谁),而(BE)=ABCDE

∴BE是R的惟一候选关键字。

(2) ρ的无损连接性判断结果如下所示,由此判定ρ不具有无损连接性。

Ri

AD

AB

BC

CDE

AE

A

a1

a1

a1

a1

B

a2

a2

C

a3

a3

a3

a3

a3

D

a4

a4

a4

a4

a4

E

a5

a5

+

(3) 考虑A→C

∵AC不是BCNF(AC不包含候选关键字BE)

将ABCDE分解为AC和ABDE,AC已是BCNF。

进一步分解ABDE,选择B→D,把ABDE分解为BD和ABE,此时BD和ABE均为BCNF。

∴ρ={AC,BD,ABE}

22.设有一教学管理数据库,其属性为:学号(S#),课程号(C#),成绩(G),任课教师(TN),

教师所在的系(D)。这些数据有下列语义:

·学号和课程号分别与其代表的学生和课程一一对应;

·一个学生所修的每门课程都有一个成绩;

·每门课程只有一位任课教师,但每位教师可以有多门课程;

·教师中没有重名,每个教师只属于一个系。

(1) 试根据上述语义确定函数依赖集。

(2) 如果用上面所有属性组成一个关系模式,那么该关系模式为何模式并举例说明在进行

增、删操作时的异常现象。

(3) 将其分解为具有依赖保持和无损连接的3NF。

解:

(1) F={(S#,C#)→G,C#→TN,TN→D}

(2) 关系模式为1NF。

∵该关系模式的候选关键字为(S#,C#)

则非主属性有G、TN和G。

又∵F中有C#→TN

∴存在非主属性TN对候选关键字(S#,C#)的部分依赖

p

即:(S#,C#)—--→TN。

异常现象:

若新增设一门课程而暂时还没有学生选修时,则因缺少关键字S#值而不能进

行插入操作。

若某个教师调离学校要删除其有关信息时,会将不该删除的课程(C#)信息删

除。

(3) ∵F=F′={(S#,C#)→G,C#→TN,TN→D}

∴ρ={R1,R2,R3}

其中:R1=(S#,C#,G)

R2=(C#,TN)

R3=(TN,D)

23.证明在关系数据库中,任何的二元关系模式必定是BCNF。

证明:设R为一个二元关系R(x1,x2),则属性x1和x2之间可能存在以下几种依赖关

系:

(1) x1→x2,但x2→x1,则关系R的候选关键字为x1,函数依赖的左部包含候选关键

字x1,∴R为BCNF。

(2) x1→x2,x2→x1,则关系R的候选关键字为x1和x2,这两个函数依赖的左部都包

含了R的任一候选关键,∴R为BCNF。

(3) xl x2,x2x1,则关系R的候选关键字为(x1,x2),R上没有函数依赖,

∴R为BCNF。

证毕。

24.如下给出的关系R为第几范式是否存在操作异常若存在,则将其分解为高一级范式。分

解完成的高级范式中是否可以避免分解前关系中存在的操作异常

工程号 材料号 数量 开工日期 完工日期 价格

P1

P1

P1

P2

P2

I1

I2

I3

I1

I4

4

6

15

6

18

250

300

180

250

350

解:

它为1NF。因为该关系的候选关键字为(工程号,材料号),而非主属性“开工日期”和“完

工日期”部分函数依赖于候选关键字的子集“工程号”,即:

P

(工程号,材料号)——→开工日期

P

(工程号,材料号)——→完工日期

∴它不是2NF。

它存在操作异常,如果工程项目确定后,若暂时未用到材料,则该工程的数据因缺少关

键字的一部分(材料号)而不能进入到数据库中,出现插入异常。若某工程下马,则删去该工

程的操作也可能丢失材料方面的信息。

将其中的部分函数依赖分解为一个独立的关系,则产生如下所示的两个2NF关系子模

式:

R1

工程号 材料号 数量 价格

P1

P1

P1

I1

I2

I3

4 250

6 300

15 180

P2

P2

R2

I1

I4

6 250

18 350

完工日期

工程号 开工日期

P1

P2

分解后,新工程确定后,尽管还未用到材料,该工程数据可在关系R2中插入。某工程

数据删除时,仅对关系R2操作,也不会丢失材料方面的信息。

25.试证明:一个BCNF范式必是3NF。

证明:用反证法。

设R是一个BCNF,但不是3NF。

则必存在非主属性A和候选关键字X以及属性集Y,使得XY,YA,其中AX,AY,

YX∈F,这就是说Y不可能包含R的关键字,但YA却成立。

根据BCNF定义,R不是BCNF,与题设矛盾,所以一个BCNF范式是3NF。

26.教材P108 2、3、4题

27.建立一个关于系、学生、班级、社团等信息的关系数据库。

描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。

描述班级的属性有:班号、专业名、系名、人数、入校年份。

描述系的属性有:系名、系号、系办公室地点、人数。

描述社团的属性有:社团名、成立年份、地点、人数。

有关语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系

的学生住在同一个宿舍区。每个学生可参加若干社团,每个社团有若干学生。学生参加某社

团有一个入会年份。

请给出关系模式,写出每个关系模式的函数依赖集,指出是否存在传递函数依赖。对于函数

依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。

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

答:关系模式:

学生S(S#,SN,SB,DN,C#,SA)

班级C(C#,CS,DN,CNUM,CDATE)

系D(D#,DN,DA,DNUM)

社团P(PN,DATE1,PA,PNUM)

学生_社团SP(S#,PN,DATE2)

其中,S#→学号,SN→姓名,SB→出生年月,SA→宿舍区

C#→班号,CS→专业名,CNUM→班级人数,CDATE→入校年份

D#→系名,DN→系号,DA→系办公室地点,DNUM→系人数

PN→社团名,DATE1→成立年份,PA→地点,PNUM→社团人数

每个关系模式的函数依赖集:

S:S#→SN,S#→SB,S#→C#,C#→DN,DN→SA

C:C#→CS,C#→CNUM,C#→CDATE,CS→DN,(CS,CDATE)→C#

( 因为每个专业每年只招一个班)

D:D#→DN,DN→D#,D#→DA,D#→DNUM

( 按照实际情况,系名和系号是一一对应的)

+

P:PN→DATE1,PN→PA,PN→PNUM

SP:(S#,PN)→DATE2

S中存在传递函数依赖:S#→DN,S#→DA,C#→SA(因为S#→C#,C#→DN,DN→SA)

C中存在传递函数依赖: C#→DN(因为C#→CS,CS→DN)

(S#,PN)→DATE2和(CS,CDATE)→C#均为SP中的函数依赖,是完全函数依赖

关系 候选码 外码 全码

S S# C#,DN 无

C C#,(CS,DATE) DN 无

D D#和DN 无 无

P PN

SP (S#,PN) S#

,PN


本文标签: 依赖 关系 属性 函数 模式