第六章 关系模式的规范化理论

第六章 关系模式的规范化理论
第六章 关系模式的规范化理论

第6章关系模式的规范化理论

关系数据库的规范化设计是指面对一个现实问题,如何选择一个比较好的关系模式集合。规范化设计理论对关系数据库结构的设计起着重要的作用。

关系模型有严格的数学理论基础,因此人们就以关系模型为作为讨论对象,形成了数据库逻辑设计的一个有力工具――关系数据库的规范化理论。

本章内容

(1)关系模式的冗余和异常问题。

(2)FD的定义、逻辑蕴涵、闭包、推理规则、与关键码的联系;平凡的FD;属性集的闭包;推理规则的正确性和完备性;FD集的等价;最小依赖集。

(3)无损分解的定义、性质、测试;保持依赖集的分解。

(4)关系模式的范式:1NF,2NF,3NF,BCNF。分解成2NF、3NF模式集的算法。

(5)MVD、4NF、5NF的定义。

一,关系模式设计中的问题

1.什么是好的数据库

构建好的,合适的数据库模式,是数据库设计的基本问题

a) 体现客观世界的信息

b) 无过度的冗余

c) 无插入异常

d) 无删除异常

e) 无更新复杂

如书上的S_C_G关系。

假设需要设计一个学生学习情况数据库StuDB。

下面我们以模式S_C_G(Sno,Sname,Dname,Age,Cno,Cname,Score,Pre_cno)为例来说明该模式存在的问题。下表是其一个实例。

3冗余度大:每选一门课,他本人信息和有关课程信息都要重复一次。

4插入异常:插入一门课,若没学生选修,则不能把该课程插入表中。

5删除异常:如S11号学生的删除,有一门只有他选,会造成课程的丢失。

6更新复杂:更新一个人的信息,则要同时更新很多条记录。还有更新选修课时也存在这样的情况。

2.异常的原因:

数据信赖的约束

3.解决方法:

数据库设计的规范化:分解,每个相对的独立,依赖关系比较单纯,如分解为3NF 我们采用分解的方法,将上述S_C_G分解成以下三个模式:

S(Sno,Sname,age,Dname)

C(Cno,Cname,Pre_cno)

S_C(Sno,Cno,Score)

4.规范化设计理论包括三个内容:

i> 数据信赖---- 核心,研究数据之间的联系

ii> 范式---- 关系模式的标准

iii> 模式设计方法---- 自动化设计的基础

二,函数依赖(Functional Dependency,FD)

1. 函数依赖的定义:(还有非函数的依赖?,什么是函数?给出一个值能唯一确

定另外一个值?映射:一对一,多对一,一对多?)

定义:函数依赖是指一个或一组属性可以(唯一)决定其它属性的值。

数学的语言:

设有关系模式R(U),其中U={A1,A2,…,A n}是关系的属性全集,X、Y是U的属性子集,设t和u是关系R上的任意两个元组,如果t和u在X的投影t[X]=u[X]推出t[Y]=u[Y],即:t[X]=u[X] => t[Y]=u[Y],

则称X 函数决定Y ,或Y 函数依赖于X 。记为X →Y 。

在上述的关系模式S (Sno ,Sname ,age ,Dname )中,存在以下函数依赖:

Sno →age Sno →Dname ...

(Sno,Cno )→Score

... 2. 几种类型的函数依赖

定义6.2(非平凡函数依赖、平凡函数依赖):一个函数依赖X →Y 如果满足Y ?X ,则称此函数依赖为非平凡函数依赖,否则称之为平凡函数依赖。

例如X →Φ, X →X , XZ →X 等都是平凡函数依赖。

定义6.3(完全函数依赖、部分函数依赖):设X 、Y 是关系R 的不同属性集,若X →Y (Y 函数依赖于X ),且不存在X’ ?X ,使X’→Y ,则称Y 完全函数依

赖于X ,记为Y X f

?→?;(即不存在真子集仍然是函数依赖关系的函数依赖是完全函数依赖)。

否则则称Y 部分函数依赖于X ,记为Y X p

?→?

例如,在上例关系S 中, Dname f

?→?Sno 是完全函数依赖;

Dname p ?→?Sname)(Sno, 、Dname p

?→?

age)(Sno, 是部分函数依赖。

在属性Y 与X 之间,除了完全函数依赖和部分函数依赖关系等直接函数依赖,还存在间接函数依赖关系。如果在关系S 中增加系的电话号码Dtel ,从而有Sno →Dname, Dname →Dtel ,于是Sno →Dtel 。在这个函数依赖中,Dtel 并不直接依赖于Sno ,是通过中间属性Dname 间接依赖于Sno 。这就是传递函数依赖。

定义6.4(传递函数依赖):设X 、Y 、Z 是关系模式R (U)中的不同的属性集,如果X →Y ,Y →X ,Y →Z ,则称Z 传递依赖于X 。否则,称为非传递函数依赖。

举例说明:

定义6.5 关键字(Key ,候选键):在关系模式R(U)中,若K ?U ,且满足U K f

?→?,

则称K 为R 的关键字。

一个包含了关键字的属性集合也能够函数决定(但不是完全函数决定,而是部分决定)属性全集,我们把这种包含了关键字的属性集合称为超关键字(Super Key)。

例如,在上例的S (Sno ,Sname ,Dname ,Age )、C (Cno,Cname,Pre_cno )、S_C (Sno ,Cno ,Score )三个关系模式中,存在以下关键字:

),,,(Age Dname Sname Sno Sno f

?→?

)_Pr ,,(con e Cname Cno Cno f

?→?

score Cno Sno f

?→?),(

所以,Sno 、Cno 和(Sno ,Cno )分别是关系模式S 、C 和S_C 的关键字 。

)

,,,(),(Age Dname Sname Sno Sname Sno p

?→?

),,,(),(Age Dname Sname Sno Dname Sno p

?→?

所以,(Sno ,Sname)和(Sno ,Dname)都不是关键字,而是超关键字。

3 函数依赖的公理系统 (1) 函数依赖的逻辑蕴涵

例如 在上述的传递函数依赖中,由X →Y ,Y →Z ,推导出X →Z ,这可以表示为: {X →Y ,Y →Z }? X →Z 其中: ?表示逻辑蕴涵。 一般地,函数依赖的逻辑蕴涵定义如下:

定义6.6(逻辑蕴涵):设F 是由关系模式R(U)满足的一个函数依赖集,X →Y 是R 的一个函数依赖,且不包含在F ,如果满足F 中所有函数依赖的任一具体关系r ,也满足X →Y ,则称函数依赖集F 逻辑地蕴涵函数依赖X →Y ,或称X →Y 可从F 推出。可表示为: F ?X →Y

例:Sno →Dname, Dname →Dtel, 则: Sno →Dtel F X →Y

函数依赖集F 的闭包F+

定义6.7:函数依赖集F 所逻辑蕴涵的函数依赖的全体称为为F 的闭包(Closure ),记为F +,即F +={X →Y |F ?X →Y }

例如,有关系R (X ,Y ,Z ),它的函数依赖集F ={X →Y ,Y →Z },则其闭包F +为:

?????????

?

?

?

?

?????

??

?

??

?

??→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→=+

YZ

YZ XYZ

XYZ XYZ

XZ XYZ

XY XYZ

X Z YZ YZ XYZ YZ XZ YZ XY YZ X Y YZ XZ XYZ XZ XZ XZ XY XZ X YZ XY XYZ XY XZ XY XY XY X YZ Y Z XYZ Z XZ Z XY Z X Z Y Y XYZ Y XZ Y XY Y X Z

Z Y Y X XYZ X XZ X XY X X Z Y XYZ XZ XY X F

φφφφφφφφφ

(2) Armstrong 公理系统 1)独立推理规则

即下面给出的Armstrong 公理的三条推理规则是彼此独立的。 A1:自反律(Reflexivity)

如果Y ?X ,则X →Y 成立,这是一个平凡函数依赖。

根据A1可以推出X →Ф、U →X 等平凡函数依赖(因为Ф?X ?U )、XY →X 。 A2:增广律(Augmentation)

如果X →Y ,且Z ?W ,则XW →YZ 成立。

根据A2可以推出XW →Y 、XZ →YZ 或XW →YW 、X →XY 、XY →X 等。 A3:传递律(Transitivity)

如果X →Y 且Y →Z ,则X →Z 成立

其他推理规则

推论1:合并规则(The Union Rule)

{X→Y,X→Z}?X→YZ

推论2:分解规则(The Decomposition Rule)

如果X→Y,Z ?Y,则X→Z成立; (X→YZ),X→Y,X→Z 推论3:伪传递规则(The Pseudo Transitivity Rule)

{X→Y,WY→Z}?XW→Z

证:(1)X→Y?X→XY(A2增广律)

X→Z?XY→YZ(A2增广律)

由上可得X→YZ(A3传递律)

(2)Z?Y?Y→Z(A1自反律)

X→Y(给定条件)

由上可得X→Z(A3传递律)

(3)X→Y?WX→WY(A2增广律)

WY→Z(给定条件)

由上可得XW→Z(A3传递律)

例6.2:设有关系模式R(A,B,C,D,E)及其上的函数依赖集F={AB→CD,A→B,D→E},求证F必蕴涵A→E。

证明:∵A→B (给定条件)

∴A→AB (A2增广律)

∵AB→CD (给定条件)

∴A→CD (A3传递律)

∴A→C,A→D (分解规则)

∵D→E (给定条件)

∴A→E (A3传递律)

证毕。

一个重要定理

定理6.1:若Ai(i=1,2,…,n)是关系模式R的属性,

则X→(A1,A2,…,An)成立的充分必要条件是X→Ai均成立

证明由分解和合并规则容易得到。

推论6.1 X是候选键的充分必要条件是X→每个属性Ai。

例:

1. 现有如下关系模式:R(A#,B#,C,D,E) ,R上存在的FD有A#B#→E,B#→C,C→D ,求R的一个候选键。

解:

A#B#→E, 得A#B#→A#B#E

又B#→C, 得A#B#→A#B#CE

又C→D, 得A#B#→A#B#CDE

因此A#B#是候选键。

也可以这样做:

先由B#→C 出发,得B#→B#CD, 还少一个A#, 再加一个A#即可,得A#B#→A#B#CDE

2. 设有关系模式R (A,B,C,D),F是R上成立的FD集,F = {D→A,D→B},试写出关系模式R的候选键,并说明理由。

方法一

因为:

D→A,D→B (已知)得D→AB

D→D,得D→ABD, 但D!→C

而CD→C(A1自反律),

我们有,CD→ABCD, 即CD→U

因此,CD为候选键。

也可以这样做:

方法二

D→A,D→B (已知)

D→D,但D!→C

而CD→C(A1自反律),

我们有,CD→A, CD→B, CD→C, CD→D, 由合并规则知:CD→ABCD

因此,CD为候选键。

3. 关系模式R(A,B,C,D)的函数依赖集为F={AC→B},求R的候选键

解:

因为AC→B

所以AC→ACB

所以ACD→ABCD

所以R的候选码是ACD

4. 有关系模式R(A,B,C,D,E,F)其函数依赖集为F={E→D,C→B,CE→F,B→A},判断CE为候选键。

CE→D (A2 增广律)

CE→B

CE→C (A1 自反律)

CE→E

CE→F (给定条件)

CE→C, C→B, 则CE→B, 又B→A, 所以有:CE→A

由合并规则,即CE→U, 为候选键

按方法一

由E→D知:E→DE

由C→B知:C→BC, 又B→A, 知:C→ABC

由合并规则知:

CE→ABCDE,为候选键

5. 设关系R={A,B,C,D,E,F},其函数依赖集F={A→B,C→D, D→E,E→F,F→C},求R的所有候选键。

解:

C→D, C→E, C→E , C→C, C! →A, 把A加上,则有

AC→A, AC→B, … AC→U

因此AC为候选键。

又因为:

D→E, D→F, D→C, D→D, 同理:AD为候选键。

同理可得:AE, AF 也为候选键。

综上所述,R的候选码为:AC,AD,AE,AF。

关系模式R(A,B,C,D)的函数依赖集为F={AC→B},则R的候选键为()。

6. 关系模式R(U,F),其中U={W,X,Y,Z},F={WX→Y,W→X, X→Z,Y→W}。关系模式R的候选建是什么?

解法:从函数依赖集出发,把所有属性分为4类

1、L类:全部出现在函数依赖的左半部

2、R:全部出现在函数依赖的右半部

3、LR:出现在函数依赖的左右两边

4、N:不出现在函数依赖中

可能成为候选键的有L类,LR类和N类

对于L类,求出它的闭包,若包含所有属性,则说明其为候选键,且为唯一候

选键。

对于LR 类,求出其闭包,若包含所有属性,则为候选键,若不包含,在找出其中一个属性结合。

对于N 类,直接加至候选键即可。 L:无 R: Z

LR: W ,X ,Y N:无 先排除Z

在LR 中,W 的闭包为{W ,Y ,Z ,X} X 的闭包为{X ,Z} Y 闭包为{Y ,W}

WX 的闭包为{W ,X ,Y ,Z} WY 的闭包为{W ,Y} XY 的闭包为{X ,Y ,Z ,W} WXY 的闭包为{X ,Z ,Y ,W}

由此可见,可能的键为{W ,WZ ,XY ,XYW},去掉多余的属性,得:W ,XY 为候选键。

F+很大,一般不去求它。在我们求候选键时,主要用到的是属性集的闭包。

属性集闭包

定义6.8(属性集闭包): 设有关系模式R(U), U={ A1,A2,…,An}, X 是U 的子集,

F 是U 上的一个函数依赖集,则属性集X 关于函数依赖集F 的闭包 定义为:

={Ai |Ai ∈U ,且X →Ai 可用阿氏公理从F 推出}

即:属性(集)闭包是 那些由X 用阿氏公理从F 推出的属性组成的集合。

F

X +F

X +

例:设关系模式R(A,B,C)的函数依赖集为F={A →B,B →C },分别求A 、B 、C 的闭包。 解:若X =A ,

∵ A →B,B →C (给定条件) ∴ A →C (A2传递律) ∵ A →A (A1自反律) ∴ ={A ,B ,C} (据定义)

若X=B

∵ B →B (A1自反律) B →C (给定条件) ∴ ={B ,C} (据定义)

若X=C ,

C →C (自反律) ∴ ={C} (据定义)

定理6.2: 设F 是关系模式R(U)上的函数依赖集,U 是属性全集,X,Y ?U,则函数依赖X →Y 是用阿氏公理从F 推出的,充分必要条件是Y ? ;

反之,能用阿氏公理从F 推出的所有X →Y 的Y 都在 中。 证明:略

这个定理告诉我们,只要Y ? ,则必有X →Y 。于是,一个函数依赖X →Y 能否用阿氏公理从F 推出的问题,就变成判断Y 是否为 子集的问题。

属性集的闭包计算

算法6.1:求属性集X(X ? U)关于U 上的函数依赖集F 的闭包 。

输入:属性全集U, U 上的函数依赖集F, 以及属性集X ? U 。 输出:X 关于F 的闭包 。

F

A +F

B +F

C +F X +

F X +F X +F X +

F

X +F

X +

方法:根据下列步骤计算一系列属性集合X(0),X(1),… (1) 令X(0)=X ,i =0;

(2) 求属性集 /*在F 中寻找满足条件V ? X(i)的所有函数依赖V →W,并记属性W 的并集为B*/ (3) X(i+1)=X(i) ∪B (4)判断X(i+1)= X(i)吗?

(4)若X(i+1) ≠ X(i),则用i+1取代i,返回(2);

(5)若X(i+1) = X(i),则

=X(i),结束。

定理6.3 Armstrong 公理是正确的,完备的。

完备性:F 所蕴涵的每个函数依赖都可由Armstrong 公理从F 可推出。

3 函数依赖集的等价和覆盖

定义6.9(函数依赖集的等价、覆盖):设F 和G 是关系R (U )上的两个依赖集,若F+=G+,则称F 与G 等价,记为F=G 。也可以称F 覆盖G ,或G 覆盖F ;也可说F 与G 相互覆盖。

检查两个函数依赖集F 和G 是否等价的方法是:

第一步:检查F 中的每个函数依赖是否属于G+,若全部满足,则F ?G+。

如若有X →Y ∈F,则计算 ,如果Y ? , 则X →Y ∈G+;

第二步:同第一步,检查是否G ?F+;

第三步:如果F ? G+,且G ?F+,则F 与G 等价。 由此可见,F 和G 等价的充分必要条件是:F ?G+,且G ?F+。

引理6.1:设G 是一个函数依赖集,且其中所有依赖的右部都只有一个属性,则G 覆盖任一左部与G (左部)相同的函数依赖集。 证明:构造G ={X →A |X →Y ∈F 且A ∈Y }

由A ∈Y ,X →Y ∈F 根据分解规则导出,从而等到G ? F+。

反之,如果Y =A1A2…An ,而且X →A1,X →A2,…X →An 在G 中可根

()

{|()())}

i B A V W V W F V X

A W =??→∈∧?∧∈F X +

G X +G X +

据合并律等到F ? G +。

由此可见,F 与G 等价,即F 被G 覆盖。

一个函数依赖集F 可能有若干个与其等价的函数依赖集,我们可以从中选择一个较好以便应用的函数依赖集。标准至少是:

所有函数依赖均独立,即该函数依赖集中不存在这样的函数依赖,它可由这

个集合中的别的函数依赖推导出来。

表示最简单,即每个函数依赖的右部为单个属性,左部最简单。

定义6.10(最小函数依赖集):函数依赖集F 如果满足下列条件,则称F 为最小函数覆盖,记为Fmin :

(1) F 中每一个函数依赖的右部都是单个属性。

(2) 对F 中任一函数依赖X →A ,F -{X →A }都不与F 等价。

(3) 对于F 中的任一函数依赖X →A, {F -{X →A }}∪{Z →A }都不与F 等价,其中Z 为X 的任一子集。

求函数依赖集F 的最小覆盖的方法是:

(1) 检查F 中的每个函数依赖X →A,若A= A1,A2,…,Ak,则根据分解规则,用X →Ai(i=1,2,…,k)取代X →A 。

(2) 检查F 中的每个函数依赖X →A,令G=F -{X →A }, 若有 A ∈ ,则从F 中去掉此函数依赖。

(3) 检查F 中各函数依赖X →A ,设X= B1,B2,…,Bm,检查Bi ,

当A ∈ 时,即以X -Bi 替换X 。

例6.5:求下列函数依赖集的最小覆盖:

F ={AH →C ,C →A ,EH →C ,CH →D ,D →E

G ,CG →D

H ,CE →AG ,ACD →H }。

解:(1)用分解规则将F 中的所有依赖的右部变成单个属性,可以得到以下11个

G X +

()I F X B +-

函数依赖:

AH→C,C→A,CH→D,ACD→H (给定)

C→E,C→G(由C→EG分解得到)

EH→C (给定)

CG→H,CG→D(由CG→DH分解得到)

CE→A,CE→G(由CE→AG分解得到)

(2) 根据阿氏公理去掉F中的冗余依赖

由于从C→A可推出CE→A,从C→A、CG→D、ACD→H推出CG→H,因此CE→A和CG→H是冗余,可从F删除。

(3) 用所含属性较少的依赖代替所含属性较多的依赖。

由于C→A, ACD→H中A是冗余属性,因此,可用CD→H代替ACD→H,故删除ACD→H。

最后得到F的最小覆盖为:

F={AH→C,C→A,CH→D,CD→H,C→E,C→G,EH→C,CG→D,CE →G}

6.5 关系模式的规范化

一.什么是范式(Normal Forms)

构造数据库必须遵循一定的规则,满足特定规则的模式称为范式。

R(U|F)

1.一个关系满足某个范式所规定的一系列条件时,它就属于该范式。

2.可以用规范化要求来设计数据库。

3.也可验证设计结果的合理性,用其来指导优化数据库设计过程。

4.关系规范化条件可分为几级,每级称为一个范式,记为第xNF (N ormal Forms)

1NF → 2NF→3NF → BCNF, 4NF → 5NF

级别越高,条件越严格

5NF(4NF(BCNF(3NF(2NF(1NF.

5.范式是衡量模式优劣的标准,范式表达了模式中数据依赖之间应满足的联系。

如果关系模式R是3NF,那么R上成立的非平凡FD都应该左边是超键或右边是非主属性。如果关系模式R是BCNF,那么R上成立的非平凡的FD都应该左边是超键。范式的级别越高,其数据冗余和操作异常现象就越少

二,第1范式(1NF)

1. 如果一个关系模式R的每个属性的域都只包含单纯值,而不是一些值的集合或元组,则称关系是第1范式,记为R∈1NF.

或:如果关系模式R的每个关系r的属性值都是不可分的原子值,那么称R是第一范式(理解:每个元组的每个属性只含有一个单纯值,即要求属性是原子的。)

这是关系模式的基本要求,条件是最松的,只要你不硬把两个属性塞到一个字段中去。如果不满足1NF,就不是关系数据库。

2.把一个非规范化的模式变为1NF有两种方法:

1)把不含单纯值的属性分解为多个属性,使它们仅含有单纯值。

例:通讯方式:电话、手机,邮编,地址等。

通讯方式分开:电话,邮编,通讯地址。

例:Name First Name, Last Name

2) 把关系模式分解,并使每个关系都符合1NF

学生(学生信息)

3. 原子属性:

列的:每个字段不再分割成多个属性。

行的:每个元组在表可只出现一次。

4. 第一范式中一般情况下都会存在着数据的冗余和异常现象,因此关系模式需要进一步的规范化。

三,第2范式(2NF)

它是在1NF的基础上建立起来的。

如果关系模式R∈1NF,且它的任一非主属性都完全函数依赖于任一候选关键字,则称R满足第2范式,记为R∈2NF.

(理解:不存在非主属性对关键字的部分函数依赖)

例:学生(sno, cno, score, credit)是否属于2NF?

(sno,cno) -f→ Score

但(sno,cno)-p→ credit

因此,学生∈1NF。

例:S(sno,sname,age,dname,dtel)

因为每个非主属性对关键字S都是完全函数依赖的,S∈2NF.

由上例,2NF依然可有过多冗余(dtel)。继续分解,提高条件。

四,第3范式(3 NF)

如果R∈2NF,且每一个非主属性不传递依赖于任一候选关键字,则称R∈3NF.

(理解:任一属性不依赖于其它非主属性)

例:S(sno,sname,age,dname,dtel)

因为dtel属性对关键字sno是传递函数依赖的,S!∈3NF.

分解:

S(sno,sname,age,dname)

D(dname,dtel)

注:一个R∈3NF←→它个每个非主属性既不部分依赖也不传递依赖于候选关键字。

例:S_C_G(U)是第几范式?2NF

五,BCNF(Boyce-Codd)

在第3范式的基础上,设有R,及其函数依赖集F,X和A是R的属性集合,且A!(X,如果只要R满足X→A,X就包含R的一个候选关键字,则称R满足

BCNF ,记为:

理解:表可不存在任何字段(主属性和非主属性)对任一候选关键字的完全函数依赖则符合BCNF.

(1) 所有非主属性A 对键都是完全函数依赖的(R ∈2NF)。

(2) 没有属性完全函数依赖于非键的任何属性组(R ∈3NF)。 (3) 所有主属性对不包含它的键是完全函数依赖的(新增加条件)。

例,模式S (NAME ,SEX ,BIRTH ,ADDR ,DNAME)的主属性为:NAME,SEX,BIRTH 和ADDR ,候选关键字为:(NAME,SEX)、(NAME,BIRTH)以及(NAME ,ADDR)。

定义中的A 为(ADDR,DNAME)。显然有:

例6.13:关系模式STC (SNO ,TNO ,CNO ),SNO 表示学号,TNO 表示教师编号,CNO 表示课程号。每一个教师只教一门课,每门课有若干教师,某一个学生选定某门课,就对应一个固定教师。试判断ST 的最高范式。

解 由语义可得到如下的函数依赖:

(SNO ,CNO )→TNO ,(SNO ,TNO )→CNO ,TNO →CNO 这里(SNO ,CNO ),(SNO ,TNO )都是侯选关键字。

因为没有任何非主属性对侯选关键字部分依赖,所以STC ∈2NF 。 没有任何非主属性对侯选关键字传递依赖,所以STC ∈3NF 。

但在F 中有TNO →CNO ,而TNO 不包含侯选关键字,所以STC 不是BCNF 关系 这里我们可以将STC (SNO ,TNO ,CNO )分解成ST (SNO ,TNO )和TC (TNO ,CNO ),它们都是BCNF 。

范式之间的关系

(NAM E,SEX)ADDR

f

??→ (NAM E,BIRTH)ADDR

f

??→

例:

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) 指出关系模式R2的码,说明其最高满足第几范式? (在1NF~BCNF 之内)。

(3).将关系模式R分解到BCNF。

数据库第六章关系数据理论习题讲解

第六章关系数据理论 (我们数据库老师给的资料,蛮有用的,分享下) 一、求最小依赖集 例:设有依赖集:F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG},计算与其等价的最小依赖集。 解: 1、将依赖右边属性单一化,结果为: F1={AB→C,C→A,BC→D,ACD→B,D→E,D→G,BE→C,CG→B,CG→D,CE→A,CE→G } 2、在F1中去掉依赖左部多余的属性。对于CE→A,由于C→A成立,故E是多余的;对于ACD→B,由于(CD)+=ABCEDG,故A是多余的。删除依赖左部多余的依赖后:F2={AB→C,C→A,BC→D,CD→B,D→E,D→G,BE→C,CG→B,CG→D,CE→G } 3、在F2中去掉多余的依赖。对于CG→B,由于(CG)+=ABCEDG,故CG→B是多余的。删除依赖左部多余的依赖后: F3={AB→C,C→A,BC→D,CD→B,D→E,D→G,BE→C,CG→D,CE→G } CG→B与CD→B不能同时存在,但去掉任何一个都可以,说明最小依赖集不唯一。 二、求闭包 例:关系模式R(U,F),其中U={A,B,C,D,E,I},F={A→D,AB→E,BI→E,CD→I,E→C},计算(AE)+。 解:令X={AE},X(0)=AE; 计算X(1);逐一扫描F集合中各个函数依赖,在F中找出左边是AE子集的函数依赖,其结果是:A→D,E→C。于是X(1)=AE∪DC=ACDE; 因为X(0)≠ X(1),且X(1)≠U,所以在F中找出左边是ACDE子集的函数依赖,其结果是:CD→I。于是X(2)=ACDE∪I=ACDEI。 虽然X(2)≠X(1),但在F中未用过的函数依赖的左边属性已没有X(2)的子集,所以不必再计算下去,即(AE)+=ACDEI。 三、求候选键 例1:关系模式R(U,F),其中U={A,B,C,D},F={A→B,C→D},试求此关系的候选键。解:首先求属性的闭包: (A)+=AB,(B)+ =B,(C)+ =CD,(D)+ =D (AB)+ =AB,(AC)+=ABCD=U,(AD)+ =ABD,(BC)+ =BCD,(BD)+ =BD,(CD)+ =CD (ABD)+ =ABD,(BCD)+ =BCD, 因(AC)+=ABCD=U,且(A)+=AB,(C)+ =CD,由闭包的定义,AC→A,AC→B,AC →B,AC→D,由合并规则得AC→ABCD=U; 由候选码的定义可得AC为候选码。

第7章关系数据库规范化理论复习题

第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

关系模式规范化实例析解

关系模式规范化实例析解 摘要:关系模式是关系数据库的重要组成部份,其规范化理论在整个模式设计中占有主导地位。下面我们试图采用接近课堂教学的方式给出一个完整实例,希望对初学者有所帮助。 关键词:关系模式;规范化;函数依赖;范式 众所周知,关系模式是关系数据库的重要组成部份,其好坏直接影响关系数据库的性能。而关系模式的设计必须满足一定的规范化要求,从而满足不同的范式级别。[1](P.46-52,57)在指导关系模式的设计中,规范化理论占有着主导地位,其基本思想是:消除数据依赖中不合理的部份,使各关系模式达到某种程度的分离,使一个关系仅描述一个实体或者实体间的一种联系。[2]关系模式及其规范化的理论是我们设计和优化关系模式的指南。作为一种优秀而成熟的理论,学习和实践会有一定的难度,但在因特网和相关书籍中难得有比较全面的实例,给我们学习和实践造成不便。下面,我们试图采用接近课堂教学的方式给出一个完整的析解实例,以期对初学者有所帮助。 一、实例 假设某商业集团数据库中有一关系模式R(商店编号,商品编号,数量,部门编号,负责人),如果规定: (1)每个商店的每种商品只在一个部门销售; (2)每个商店的每个部门只有一个负责人; (3)每个商店的每种商品只有一个库存数量。 试回答下列问题: (1)根据上述规定,写出关系模式R的基本函数依赖; (2)找出关系模式R的候选关键字; (3)试问关系模式R最高已经达到第几范式为什么 (4)如果R已达3NF,是否已达BCNF 若不是BCNF,将其分解为BCNF模式集。 二、预处理 为了方便,我们用代号代表每个属性: A—商店编号B—商品编号 C—部门编号D—数量 E—负责人 这样,有关系模式:R(U,F)U={A,B,C,D,E} 三、根据上述规定,写出关系模式R的基本函数依赖

第6章关系数据理论习题

练习一。 指出下列关系模式是第几范式 (1)R(X,Y,Z) FD={XY→Z} 其典型实例就是我们的SC(Sno,Cno,Grade) 参考解答: R(X,Y,Z)的主码为XY,非主属性为Z。 关系模式R(X,Y,Z)中不存在非主属性对码的部分函数依赖——>属于二范式 关系模式R(X,Y,Z)中不存在非主属性对码的传递函数依赖——>属于三范式 关系模式R(X,Y,Z)中起决定作用的只有码——>属于BC范式 故在函数依赖范围内,关系模式R(X,Y,Z)属于BC范式 (2)R(X,Y,Z) FD={ Y→Z, XZ→Y } 参考解答: R(X,Y,Z)的主码为XZ,非主属性为Y 属于第三范式:因为其中不存在非主属性(Y)对码(XZ)的部分函数依赖和传递函数依赖; 但不属于BC范式:因为起决定作用的除了码以外还有非主属性(Y) (3)R(X,Y,Z) FD={ Y→Z, Y→X, X→YZ } 参考解答: R(X,Y,Z)的候选码为Y和X,非主属性为Z 不存在非主属性对码的部分函数依赖和传递函数依赖,故属于三范式 又,起决定作用的只有码,所以也是BC范式 (4)R(X,Y,Z) FD={ X→Y, X→Z } 参考解答: 典型实例Student(Sno,Sname,Ssex) R(X,Y,Z)的候选码为X,非主属性为Y和Z 不存在非主属性对码的部分函数依赖和传递函数依赖,故属于三范式 又,起决定作用的只有码,所以也是BC范式 (5)R(W,X,Y,Z) FD={ X→Z, WX→Y } 参考解答: 典型实例S_C(Sno,Cno,Grade,,Cname) R(W,X,Y,Z)的候选码为WX,非主属性为Y和Z 因为非主属性Z不是完全依赖于码(WX),而是依赖于码中的一部分(X), 所以存在非主属性对码的部分函数依赖,故没有达到二范式,仅属于一范式 (6)R(A,B,C,D) ,FD={B→D, AB→C } 参考解答: 典型实例S_C(Sno,Cno ,Grade,,Cname) R(W,X,Y,Z)的候选码为WX,非主属性为Y和Z 因为非主属性Z不是完全依赖于码(WX),而是依赖于码中的一部分(X), 所以存在非主属性对码的部分函数依赖,故没有达到二范式,仅属于一范式

数据库规范化理论习题

规范化理论习题1. 解释下列名词: 函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、候选关键字、主关键字、全关键字、1NF、2NF、3NF、BCNF、多值依赖、4NF、连接依赖、5NF、最小函数依赖集、无损分解 函数依赖:FD(function dependency),设有关系模式R(U),X,Y是U的子集, r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y], 则称X函数决定Y,或Y函数依赖于X,记为X→Y。X→Y为模式R的一个函数依赖。 部分函数依赖:即局部依赖,对于一个函数依赖W→A,如果存在X W(X包含于W)有X→A成立,那么称W→A是局部依赖,否则称W→A为完全依赖。 完全函数依赖:见上。 传递函数依赖:在关系模式中,如果Y→X,X→A,且X Y(X不决定Y), A X(A不属于X),那么称Y→A是传递依赖。 候 选关键字:设K 为关主关键字:若关系模式R有多个候选码,则选定其中一个作为主关键字 (Primary Key),有时也称作为主码。 全关键字:若关系模式R整个属性组都是码,称为全关键字(All Key)或全码。 1NF:第一范式。如果关系模式R的所有属性的值域中每一个值都是不可再分解的值, 则称R是属于第一范式模式。如果某个数据库模式都是第一范式的,则称该数据库存模式属于第一范式的数据库模式。第一范式的模式要求属性值不可

再分裂成更小部分,即属性项不能是属性组合和组属性组成。 2NF:第二范式。如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键,则称是第二范式模式;如果某个数据库模式中每个关系模式都是第二范式的,则称该数据库模式属于第二范式的数据库模式。 (注:如果A是关系模式R的候选键的一个属性,则称A是R的主属性,否则称A是R 的非主属性。) 。 3NF:第三范式。如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R是第三范式的模式。如果某个数据库模式中的每个关系模式都是第三范式,则称为3NF的数据库模式。 BCNF:BC范式。如果关系模式R是第一范式,且每个属性都不传递依赖于R 的候选键,那么称R是BCNF的模式。 多值依赖:设R(U)是属性集U上的一个关系模式,X,Y,Z是U的子集,并且Z=U-X-Y, 用x,y,z分别代表属性集X,Y,Z的值,只要r是R的关系,r中存在元组(x,y1,z1)和(x,y2,z2)时,就也存在元组(x,y1,z2)和(x,y2,z1),那么称多值依赖(MultiValued Dependency MVD) X→→Y在关系模式R中成立。 4NF:第四范式。设R是一个关系模式,D是R上的多值依赖集合。如果D中成立非平凡多值依赖X→→Y时, X必是R的超键,那么称R是第四范式的模式。 连接依赖:关系模式R(U)中,U是全体属性集,X,Y,…,Z是U的子集,当且仅当R是由其在X,Y,…,Z上投影的自然连接组成时,称R满足对X,Y,…,Z的连接依赖。记为JD(X,Y,…,Z)。 5NF:关于模式R中,当且仅当R中每个连接依赖均为R的候选码所蕴涵时,称R属于5NF。

答案 第六章 文化与护理

第六章文化与护理 一、单选题 1.C 2.A 3.B 4.B 5.A 6.D 7.E 8.B 9.C 10.A 二、多选题 1.ABCDE 2.ACDE 3.ABCD 4.BDE 5.ACDE 三、名词解释 1.文化:反映的是一个民族中群体的世界观和价值观,它是包括知识、信仰、艺术、道德、风俗习惯等要素的综合体。 2.文化休克:又译为文化震撼或文化震惊,是美国人类学家奥博格于1958年提出来的,是指生活在某一种文化环境中的人初次进入到另一种不熟悉的文化环境,因为失去自己熟悉的所有社会交流的符号与手段所产生的思想混乱与心理上的精神紧张综合征。 3.文化关怀:为了满足自己或者他人现有或潜在的完好健康,应对伤残、死亡或其他状况的需要,用一些符合文化、被接受和认可的价值观、信念和定势的表达方式,为自己和他人提供的综合性、符合相应文化背景的帮助、支持和促进性的行为。 4. 跨文化护理:根据服务对象的社会环境和文化背景,了解服务对象的生活方式、信仰、道德、价值观和价值取向,向服务对象提供多层次、多体系、高水平和全方位的有效护理。 四、填空题 1.蜜月阶段沮丧或敌意阶段恢复调整阶段适应阶段 2.新旧文化间的差别程度新文化的包容性个体因素 3.综合管理教育咨询健康促进心理疏导整体协调 五、简答题 1.简述产生文化休克的原因。 答:引起文化休克的原因主要是突然从一个熟悉的环境到了另一个陌生的环境,从而在沟通交流、日常生活活动差异、孤独、风俗习惯、态度和信仰五个方面产生问题;这五个因素使个体对文化背景的变化必须做出适应和调整,当同时出现的因素越多、程度越强烈时,个体产生文化休克的强度就越明显。2.简述文化休克的分期。

数据库第六章习题综合要点

第六章结构化程序设计 一、选择题 1、WAIT命令用于让用户输入一个。 A)数字 B)字符 C)字符串 D)以上都是 2、在交互式输入命令中,可以接受逻辑型数据的命令包括______。 A)INPUT和ACCEPT B)WAIT和INPUT C)INPUT和@…GET D)INPUT和@…SAY 3、执行命令 ACCEPT″请输入数据:″TO XYZ 时,可以通过键盘输入的内容包括______。 A)字符串 B)数值和字符串 C)数值,字符串和逻辑值 D)数值,字符串,逻辑值和表达式 4、执行命令INPUT″请输入数据:″TO AAA时,如果要通过键盘输入字符串,应当使用的定 界符包括______。 A)单引号 B)单引号或双引号 C)单引号、双引号或方括弧 D)单引号、双引号、方括弧或圆点 5、在VFP中,可以通过键盘接受数值的命令有_______。 A)ACCEPT B)ACCEPT和WAIT C)INPUT和ACCEPT D)INPUT和 @ 5,10 SAY...GET.. 6、比较WAIT、ACCEPT和INPUT三条命令,需要以回车键表示输入结束的命令是_____。 A)WAIT、ACCEPT、INPUT B)WAIT、ACCEPT C)ACCEPT、INPUT D)INPUT、WAIT 7、以下关于ACCEPT命令的说明,正确的是______。 A)将输入作为字符接收 B)将输入作为数值接收 C)将输入作为逻辑型数据接收 D)将输入作为备注型接收 8、结构化程序设计所规定的三种基本控制结构是_______。 A)输入,处理,输出 B)树型,网型,环型 C)顺序,选择,循环 D)主程序,子程序,函数 9、能将高级语言编写的源程序转换成目标程序的是_______。 A)编程程序 B)编译程序 C)解释程序 D)链接程序 10、VFP中的DO CASE-ENDCASE语句属于_______。 A)顺序结构 B)选择结构 C)循环结构 D)模块结构 11、当前数据库中有五个字段:学号(C,4)、姓名(C,6)、政治(N,3.0)、英语(N,3.0)、数 学(N,3.0),记录指针指向一个非空的记录。要使用SCATTER TO X命令把当前记录的字段值存到数组X中,数组X ______。 A)不必事先定义 B)必须用DIMENSION X 事先定义 C)必须用DIMENSION X(5)事先定义 D)必须用DIMENSION X(1),X(2),X(3),X(4),X(5)事先定义 12、要判断数值型变量Y是否能够被7整除,错误的条件表达式为______。 A)MOD(Y,7)=0 B)INT(Y/7)=Y/7 C)0=MOD(Y,7) D)INT(Y/7)=MOD(Y, 7) 13、在VFP中,命令文件的扩展名是______。

关系数据库规范化理论常见试题及答案

关系数据库规范化理论常见试题及答案 1.关系规范化中的操作异常有哪些?它是由什么引起的?解决的办法是什么? 答:关系规范化中的操作异常有插入异常、更新异常和删除异常,这些异常是由于关系中存在不好的函数依赖关系引起的。消除不良函数依赖的办法是进行模式分解,即将一个关系模式分解为多个关系模式。 2.第一范式、第二范式和第三范式的关系的定义是什么? 答:不包含非原子项属性的关系就是第一范式的关系;对于第一范式的关系,如果此关系中的每个非主属性都完全函数依赖于主键,则此关系属于第二范式;对于第二范式的关系,如果所有的非主属性都不传递依赖于主键,则此关系就是第三范式的。 3.什么是部分依赖?什么是传递依赖?请举例说明。 答:部分依赖关系是指某个属性只由构成主键的部分列决定,而和另一些列无关。例如对关系:学生选课(学号,姓名,课程号,成绩),此关系的主键是(学号,课程号),而“姓名”列只由“学号”决定,与“课程号”无关,这就是部分依赖关系。 传递依赖指的是某个非主键属性是由另一个非主键属性决定的,而这个非主键属性再由主键决定。例如对关系:学生(学号、姓名、所在系,系主任),此关系的主键为(学号),而“系主任”由“所在系”决定,“所在系”又由“学号”决定,因此“系主任” 对“学号”是传递依赖关系。 4.第三范式的表是否一定不包含部分依赖关系? 答:是的。 5.对于主键只由一个属性组成的关系,如果它是第一范式关系,则它是否一定也是第二范式关系?答:是的。因为如果一个关系的主键只由一个属性组成,则此关系中一定不会存在部分依赖关系。 6.设有关系模式:学生修课管理(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)。设一名学生可以选修多门课程,一门课程可以被多名学生选修。一名学生有唯一的所在系,每门课程有唯一的课程名和学分。请指出此关系模式的候选键,判断此关系模式是第几范式的;若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。 答:候选键为:(学号,课程号),它也是此关系模式的主键。由于存在函数依赖:学号→姓名,课程号→课程名 因此,存在非主属性对主键的部分函数依赖关系,因此它不是第二范式的表。分解如下:学生表(学号,姓名,所在系,性别),主键为“学号”,已属于第三范式。 课程表(课程号,课程名,学分),主键为“课程号”,已属于第三范式。 选课表(学号,课程号,成绩),主键为(学号,课程号),已属于第三范式 7.设有关系模式:学生表(学号,姓名,所在系,班号,班主任,系主任),其语义为:一名学生只在一个系的一个班学习,一个系只有一名系主任,一个班只有一名班主任,一个系可以有多个班。请指出此关系模式的候选键,判断此关系模式是第几范式的;若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。

护理管理学 试题与答案 第六章 领导

1.下列属于领导者权力性影响力的构成因素是( ) A.感情因素B.能力因素 C。知识因素D.职位因素 2.下列属于领导者非权力性影响力的构成因素是( ) A.传统因素B.职位因素 C.资历因素D.能力因素 3.领导者权力性影响力的特点是( ) A.使下属的心理与行为表现为被动和服从B.不带有强制性 C.以内在感染的形式发挥作用 D.比较稳定和持久 4.领导者非权力性影响力的特点是( ) A.由外界赋予的影响力B.具有强迫性和不可抗拒性 C.影响力广泛而持久D.随职位升高而增强 5.根据领导行为四分图理论,对新上岗的护士最适宜采取的领导方式是( ) A.高任务,高关心人B.高任务,低关心人 C.低任务,高关心人D.低任务,低关心人 6.根据领导行为四分图理论,对初步成熟的护士最适宜采取的领导方式是( ) A.高任务,高关心人B.高任务,低关心人 C.低任务,高关心人D.低任务,低关心人 7.根据领导行为四分图理论,对比较成熟的护士最适宜采取的领导方式是( ) A.高任务,高关心人B.高任务,低关心人 C.低任务,高关心人D.低任务,低关心人 8.根据领导行为四分图理论,对成熟的护士最适宜采取的领导方式是( )

A.高任务,高关心人B.高任务,低关心人 C.低任务,高关心人D.低任务,低关心人 9.在管理方格理论中,最理想有效的领导行为类型是( ) 。 A.1.1型管理B.1.9型管理 C.9.9型管理D.9.1型管理 10.在管理方格理论中,贫乏管理的领导行为类型是( ) A.1.1型管理 B.1.9型管理 C.5.5型管理D.9.1型管理 11.费德勒的权变理论中对领导效果最有利的环境条件是( ) A.上下级关系好,工作任务结构明确,领导者职权强 B.上下级关系好,工作任务结构明确,领导者职权弱 C.上下级关系好,工作任务结构不明确,领导者职权强 D.上下级关系差,工作任务结构明确,领导者职权强 12.费德勒的权变理论中对领导效果最不利的环境条件是( ) A.上下级关系好,工作任务结构不明确,领导者职权弱 B.上下级关系差,工作任务结构明确,领导者职权强 C.上下级关系差,工作任务结构明确,领导者职权弱 D.上下级关系差,工作任务结构不明确,领导者职权弱 13.情境领导理论认为,与选择领导方式有关的因素是( ) A.上下级关系B.领导者职权 C.组织内上下沟通D.下属的成熟度 14.情境领导理论认为,适宜采用命令型领导方式的员工成熟度类型是( )

第六章 关系模式的规范化理论

第6章关系模式的规范化理论 关系数据库的规范化设计是指面对一个现实问题,如何选择一个比较好的关系模式集合。规范化设计理论对关系数据库结构的设计起着重要的作用。 关系模型有严格的数学理论基础,因此人们就以关系模型为作为讨论对象,形成了数据库逻辑设计的一个有力工具――关系数据库的规范化理论。 本章内容 (1)关系模式的冗余和异常问题。 (2)FD的定义、逻辑蕴涵、闭包、推理规则、与关键码的联系;平凡的FD;属性集的闭包;推理规则的正确性和完备性;FD集的等价;最小依赖集。 (3)无损分解的定义、性质、测试;保持依赖集的分解。 (4)关系模式的范式:1NF,2NF,3NF,BCNF。分解成2NF、3NF模式集的算法。 (5)MVD、4NF、5NF的定义。 一,关系模式设计中的问题 1.什么是好的数据库 构建好的,合适的数据库模式,是数据库设计的基本问题 a) 体现客观世界的信息 b) 无过度的冗余 c) 无插入异常 d) 无删除异常 e) 无更新复杂 如书上的S_C_G关系。 假设需要设计一个学生学习情况数据库StuDB。 下面我们以模式S_C_G(Sno,Sname,Dname,Age,Cno,Cname,Score,Pre_cno)为例来说明该模式存在的问题。下表是其一个实例。

3冗余度大:每选一门课,他本人信息和有关课程信息都要重复一次。 4插入异常:插入一门课,若没学生选修,则不能把该课程插入表中。 5删除异常:如S11号学生的删除,有一门只有他选,会造成课程的丢失。 6更新复杂:更新一个人的信息,则要同时更新很多条记录。还有更新选修课时也存在这样的情况。 2.异常的原因: 数据信赖的约束 3.解决方法: 数据库设计的规范化:分解,每个相对的独立,依赖关系比较单纯,如分解为3NF 我们采用分解的方法,将上述S_C_G分解成以下三个模式: S(Sno,Sname,age,Dname) C(Cno,Cname,Pre_cno) S_C(Sno,Cno,Score) 4.规范化设计理论包括三个内容: i> 数据信赖---- 核心,研究数据之间的联系 ii> 范式---- 关系模式的标准 iii> 模式设计方法---- 自动化设计的基础 二,函数依赖(Functional Dependency,FD) 1. 函数依赖的定义:(还有非函数的依赖?,什么是函数?给出一个值能唯一确 定另外一个值?映射:一对一,多对一,一对多?) 定义:函数依赖是指一个或一组属性可以(唯一)决定其它属性的值。 数学的语言: 设有关系模式R(U),其中U={A1,A2,…,A n}是关系的属性全集,X、Y是U的属性子集,设t和u是关系R上的任意两个元组,如果t和u在X的投影t[X]=u[X]推出t[Y]=u[Y],即:t[X]=u[X] => t[Y]=u[Y],

第六章__关系数据理论(1)

第六章 关系数据理论 习题 1.理解并给出下列术语的定义: 函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All-key )、1NF 、2NF 、3NF 、BCNF 、多值依赖、4NF 。 2.联立一个关于系、学生、班级、学会等诸信息的关系数据库。 描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。 描述班级的属性有:班号、专业名、系名、人数、入校年份。 描述系的属性有:系名、系号、办公室地点、人数。 描述学会的属性有:学会名、成立年份、地点、人数。 有关语义如下:一个系有若干学生,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。 请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。 指出各关系的候选码、外部码,有没有全码存在? 3.试由Armstrong 公理系统推导下面三条推理规则: (1)合并规则:若X Z →,X Y →,则有X YZ → (2)伪传递规则:由X Y →,WY Z →,有XW Z → (3)分解规则:X Y →,Z Y ?,有X Z → 4.关于多值依赖的另一种定义试: 给定一个关系模式R (X ,Y ,Z ),其中X ,Y ,Z 可以是属性或属性组合。 设x X ∈,y Y ∈,z Z ∈,xy 在R 中的像集伪: {.|..}xz Y r Y r X x r Z z r R ==∧=∧∈ 定义 R (X ,Y ,Z )当且仅当xz xz Y Y '=对于每一组(x ,z ,z ')都成立,则Y 对X 多值依赖,记作X Y →→。这里,允许Z 为空集,在Z 为空集时,称为平凡的多值依赖。 请证明这里的定义和《概论》5。2。7节中定义5。9是等价的。 5.试举出3个多值依赖的实例。 *6.试证明书上给出的关于FD 和MVD 公理系统的A 4,A 6和A 8。 *7.设关系模式为R (U ,F ),X ,Y 为属性集,X ,Y U ∈。 证明:(1)F X X +? (2)()F F F X X +++= (3)若X Y ?则F F X Y ++ = (4)F U U += *8.设关系模式R (U ,F ),若,则 F X X +=称X 相对于F 是饱和的。定义饱和集{|}F F X X X ?+==,试证明{|}F F X X U ?+=?。 9.图6.12表示一个公司各部门的层次结构。

关系数据库规范化理论

第四章关系数据库规范化理论 一个关系数据库模式由一组关系模式组成,一个关系模式由一组属性名组成。关系数据库设计,就是如何把已给定的相互关联的一组属性名分组,并把每一组属性名组成关系的问题。然而,属性的分组不是唯一的,不同的分组对应着不同的数据库应用系统,它们的效率往往相差很远。 为了使数据库设计合理可靠,简单实用,长期以来,形成了关系数据库设计的理论——规范化理论。 4.1 关系规范化的作用 规范化,就是用形式更为简洁,结构更加规范的关系模式取代原有关系模式的过程。 如果将两个或两个以上实体的数据存放在一个表里,就会出现下列三个问题:?数据冗余度大 ?插入异常 ?删除异常 所谓数据冗余,就是相同数据在数据库中多次重复存放的现象。数据冗余不仅会浪费存储空间,而且可能造成数据的不一致性。 插入异常是指,当在不规范的数据表中插入数据时,由于实体完整性约束要求主码不能为空的限制,而使有用数据无法插入的情况。 删除异常是指,当不规范的数据表中某条需要删除的元组中包含有一部分有用数据时,就会出现删除困难。 (以P98工资表为例) 解决上述三个问题的方法,就是将不规范的关系分解成为多个关系,使得每个关系中只包含一个实体的数据。 (讲例子解) 当然,改进后的关系模式也存在另一问题,当查询职工工资时需要将两个关系连接后方能查询,而关系连接的代价也是很大的。 那么,什么样的关系需要分解?分解关系模式的理论依据又是什么?分解完后能否完全消除上述三个问题?回答这些问题需要理论指导。下面,将加以讨论: 4.2 函数依赖 4.2.1属性间关系 实体间的联系有两类:一类是实体与实体之间联系;另一类是实体内部各属性间的联系。

第六章关系数据理论

补充题 1设有下列关系模式和相应的函数依赖集: (1)R(A,B,C,D),F={A B→C,C→D,D→A} (2)R(A,B,C,D),F={B→C,B→D} (3)R(A,B,C,D),F={A B→C,B C→D,C D→A,A D→B} (4)R(A,B,C,D),F={A→B,B→C,C→D,D→A} (5)R(A,B,C,D,E),F={A B→C,D E→C,B→D} (6)R(A,B,C,D),F={A B→C,C→D,D→E} 请判断它们最高属于什么范式?为什么? 解: (1)是3N F,但不是B C N F。因为该关系模式的码为A B,B C和B D,所有属性均为主属性,是3N F。但由于C→D,D→A中的左边不包含候选码,所以不是B C N F。 (2)是2N F,不是3N F。因为该关系模式的码为A B,由函数依赖B→C,B→D,可得C,D部分函数依赖于A B,所以在关系模式中存在非主属性对码的部分函数依赖,不满足3N F。 (3)3N F,也是B C N F。在该关系模式中,A B,C D,A D,B C都是侯选码,所有属性均为主属性,所以不存在非主属性对码的传递依赖。所以是3N F。因为所有的函数依赖的左部都包含侯选码,所以该关系模式是B C N F。 (4)是3N F,也是B C N F。在该关系模式中,A,B,C和D均为侯选码,它们也都是主属性,所以是3N F。也是B C N F。 (5)是1N F,不是2N F.该关系模式的侯选码为A B E,由函数依赖A B→C可知在该关系模式中存在非主属性对侯选码的部分函数依赖,所以不是2N F。(6)是2N F,不是3N F。该关系模式的侯选码为A B,因为存在非主属性对侯选码的传递依赖,所以不是3N F。 【习6-2】建立关于系、学生、班级、学会等诸信息的一个关系数据库。 描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。 描述班级的属性有:班号、专业名、系名、人数、入校年份。 描述系的属性有:系名、系号、系办公室地点、人数。 描述学会的属性有:学会名、成立年份、地点、人数。 有关语义如下:一个系有若干个专业,每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一宿舍区。每个学生可以参加若干个学会,每个学会有若干学生。学生参加某学会有一个入会年份。 请给出关系模式,写出每个关系模式的最小函数依赖集,指出是否存在传递函数,对于函数依赖左部是多属性的情况,讨论函数依赖是完全函数依赖,还是部分函数依赖。 指出各关系的候选码、外码,有没有全码存在? 解: (1)学生关系 学生(学号,姓名,出生年月,系名,班号,宿舍区) 候选码:学号 外码:系名,班号 最小函数依赖集F'={学号→姓名,学号→出生年月,学号→班号,班号→系名,系名→宿舍区} 存在传递函数依赖:

关系规范化练习题

一、单项选择题 1.规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中的关系必须满足:其每一属性都是()。 A.互不相关的B.不可分解的 C.长度可变的D.互相关联的 2.关系模式中2NF是指_______。 A.满足1NF且不存在非主属性对码的传递依赖 B.满足1NF且不存在非主属性对码部分依赖 C.满足1NF且不存在非主属性 D.满足1NF且不存在组合属性 3. 关系模式中3NF是指___________。 A.满足2NF且不存在非主属性对码的传递依赖 B.满足2NF且不存在非主属性对码部分依赖 C.满足2NF且不存在非主属性 D.满足2NF且不存在组合属性 4.关系模型中的关系模式至少是()。 A.1NF B.2NF C.3NF D.BCNF 5. 在关系模式R(A,C,D)中,存在函数依赖关系{ A→C,A→D },则候选码是______ ,关系模式R(A,C,D)最高可以达到_____________ 。 6.在关系模式R(A,B,C,D)中,存在函数依赖关系{A→B,A→C,A →D,(B,C)→A},则候选码是___________,关系模式R(A,B,C,D)属于____________ 。

1.关系规范化中的操作异常有哪些?它是由什么引起的?解决的办法是什么? 2.第一范式、第二范式和第三范式的关系的定义是什么? 3什么是部分依赖?什么是传递依赖?请举例说明。 4.第三范式的表是否一定不包含部分依赖关系? 5.对于主键只由一个属性组成的关系,如果它是第一范式关系,则它是否一定也是第二范式关系? 6.设有关系模式:学生选修课程(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)。设一名学生可以选修多门课程,一门课程可以被多名学生选修。一名学生有唯一的所在系,每门课程有唯一的课程名和学分。请指出此关系模式的候选键,判断此关系模式是第几范式的;若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。 7.设有关系模式:学生表(学号,姓名,所在系,班号,班主任,系主任),其语义为:一名学生只在一个系的一个班学习,一个系只有一名系主任,一个班只有一名班主任,一个系可以有多个班。请指出此关系模式的候选键,判断此关系模式是第几范式的;若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。8.设有关系模式:授课表(课程号,课程名,学分,授课教师号,教师名,授课时数),其语义为:一门课程(由课程号决定)有确定的课程名和学分,每名教师(由教师号决定)有确定的教师名,每门课程可以由多名教师讲授,每名教师也可以讲授多门课程,每名教师对每门课程有确定

第六章关系数据库理论

第六章关系数据理论 1、理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码、1NF、2NF、3NF、BCNF。 答:函数依赖:设R (U)是一个关系模式,U是R的属性集合,X和Y是U的子集。对于R (U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。 完全函数依赖、部分函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X,都有X′→Y,则称Y对X完全函数依赖;若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖。 传递依赖:在关系R (U)中,如果X→Y(Y?X),Y→X,Y→Z,则称Z对X传递函数依赖。 候选码、主码:设K为R(U,F)中的属性或属性组合,若K→U则K为R的候选码。若候选码多于一个,则选定其中的一个为主码。 外码:关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码也称外码。 全码:整个属性组是码,称为全码(All-key)。 1NF:如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF 2NF:若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的关键字,则R∈2NF。 3NF:关系模式R 中若不存在这样的关键字X、属性组Y及非主属性Z(Z?Y),使得X→Y,Y→X,Y→Z 成立,则称R∈3NF。 BCNF:设关系模式R∈1NF,如果对于R的每个函数依赖X→Y,若Y?X,则X必含有候选关键字,那么R∈BCNF。 2、建立一个关于系、学生、班级、学会等诸信息的关系数据库。 描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区; 描述班级的属性有:班号、专业名、系名、人数、入校年份; 描述系的属性有:系名、系号、系办公室地点、人数; 描述学会的属性有:学会名、成立年份、地点、人数。 有关语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。 请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。 指出各关系的候选码、外部码,有没有全码存在? 答:1、关系模式: (1)学生:Student ( sno, sname, sbirth, deptname, clsno, sdorm ) 其中:sno_学号,sname_姓名,sbirth_出生年月,deptname_系名,clsno_班级号,sdorm_宿舍区,(2)班级:Class ( clsno, spec, deptname, clsnum, clsdate ) 其中:clsno_班级号,spec_专业名,deptname_系名,clsnum_班级人数,clsdate_入校年份,(3)系:Dept ( deptno, deptname, deptaddr, deptnum ) 其中:deptno_系号,deptname_系名,deptaddr_系办公地点,deptnum_系人数,

数据库规范化理论习题精编版

规范化理论习题 1. 解释下列名词: 函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、候选关键字、主关键字、全关键字、1NF 、2NF 、3NF 、BCNF 、多值依赖、4NF 、连接依赖、5NF 、最小函数依赖集、无损分解 函数依赖:FD(function dependency),设有关系模式R(U),X ,Y 是U 的子集, r 是R 的任一具体关系,如果对r 的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y], 则称X 函数决定Y,或Y 函数依赖于X ,记为X→Y 。X→Y 为模式R 的一个函数依赖。 部分函数依赖:即局部依赖,对于一个函数依赖W→A ,如果存在X W(X 包含于W)有X→A 成立, 那么称W→A 是局部依赖,否则称W→A 为完全依赖。 完全函数依赖:见上。 传递函数依赖:在关系模式中,如果Y→X ,X→A ,且X Y (X 不决定Y ), A X (A 不属于X ),那么称Y→A 是传递依赖。 候选关键字:设K 为关系模式R (U ,F )中的属性或属性集合。若K —→F U ,则K 称为 R 的一个候选码(Candidate Key ),也称作为候选关键字或码。 主关键字:若关系模式R 有多个候选码,则选定其中一个作为主关键字(Primary Key ),有时也称作为主码。 全关键字:若关系模式R 整个属性组都是码,称为全关键字(All Key )或全码。 1NF :第一范式。如果关系模式R 的所有属性的值域中每一个值都是不可再分解的值, 则称R 是属于第一范式模式。如果某个数据库模式都是第一范式的,则称该数据库存模式属于第一范式的数据库模式。 第一范式的模式要求属性值不可再分裂成更小部分,即属性项不能是属性组合和组属性组成。 2NF :第二范式。如果关系模式R 为第一范式,并且R 中每一个非主属性完全函数依赖于R 的某个候选键, 则称是第二范式模式;如果某个数据库模式中每个关系模式都是第二范式的,则称该数据库模式属于第二范式的数据库模式。 (注:如果A 是关系模式R 的候选键的一个属性,则称A 是R 的主属性,否则称A 是R 的非主属性。) 。 3NF :第三范式。如果关系模式R 是第二范式,且每个非主属性都不传递依赖于R 的候选键, 则称R 是第三范式的模式。如果某个数据库模式中的每个关系模式都是第三范式,则称为3NF 的数据库模式。 BCNF :BC 范式。如果关系模式R 是第一范式,且每个属性都不传递依赖于R 的候选键,那么称R 是BCNF 的模式。 多值依赖:设R(U)是属性集U 上的一个关系模式,X ,Y ,Z 是U 的子集,并且Z=U-X-Y , 用x,y,z 分别代表属性集X,Y ,Z 的值,只要r 是R 的关系,r 中存在元组(x,y1,z1)和(x,y2,z2)时, 就也存在元组(x,y1,z2)和(x,y2,z1),那么称多值依赖(MultiValued Dependency MVD) X→→Y 在关系模式R 中成立。 4NF :第四范式。设R 是一个关系模式,D 是R 上的多值依赖集合。如果D 中成立非平凡多值依赖X→→Y 时, X 必是R 的超键,那么称R 是第四范式的模式。 连接依赖:关系模式R(U)中,U 是全体属性集,X ,Y ,…,Z 是U 的子集,当且仅当R 是由其在X ,Y ,…,Z 上投影的自然连接组成时,称R 满足对X ,Y ,…,Z 的连接依赖。记为JD (X ,Y ,…,Z )。 5NF :关于模式R 中,当且仅当R 中每个连接依赖均为R 的候选码所蕴涵时,称R 属

第六章 关系数据库设计理论

第六章关系数据库设计理论 一、填空题 1、()和()是对关系模式进行分解的两个基本原则。 2、通过模式分解可以转换为若干个高一级范式的关系模式集合,这种过程就叫( )。 3、如何一个关系模式R(),则这个关系属于1NF。 4、要使关系模式属于2NF,就要消除()。 5、要使关系模式属于3NF,即就要消除()又要消除()。 6、若关系模式R属于1NF,且(),则R关系模式属于BCNF。 7、BCNF在函数依赖范围内已实现了模式的彻底分解,消除了()和()。 二、单选题 1、现有学生关系Student,属性包括学号(Sno),姓名(Sname),所在系(Sdept),系主任姓名(Mname),课程名(Cname)和成绩(Grade)。这些属性之间存在如下联系:一个学号只对应一个学生;通过学生只对应一个系;一个系只对应一个系主任;一个学生的一门课程只对应一个成绩;学生名可以重复;系名不可重复;课程名吧重复。则以下不正确的函数依赖是() A. Sno→Sdept B. Sno→Mname C. Sname→Sdept D.Sno,Cname→Grade 2、下面关于函数依赖的描述,错误的是()。 A.在函数依赖A→B中,A称为决定因素。 B.在关系R中,属性B依赖于属性A,则说明当属性A的值确定之后,属性B的值也随之确定。 C.函数依赖具有传递性。 D.在关系R中,如果属性A依赖于属性B,这种依赖记为:A→B。 A. F1→F2 B. F1 F2→F5 C. F3 F4→F5 D. F2 F3→F4 4、关系R包含属性{A1,A2,A3,A4,A5},其中{A1,A2}为主码,则下面的说法正确的是()。 A. {A1}或者{A2}有可能单独成为R的主码 B.{A1,A2,A3}必然也是R的主码 C. R中绝不可能出现在A1,A2上取值完全相同的元组 D. R的所有元组中,A1或者A2的值都是不能重复的 5、下面关于主码的说法错误的是()。 A. 一个关系的主码是唯一的; B. 一个关系的主码指定值之后,对应的元组也就确定了 C. 关系R的主码的任何真子集都不可能是关系R的主码 D. 在保存学生学籍信息的关系中,学生姓名对应的属性不适合单独作为主码

相关文档
最新文档