第六章课后习题+总结

 
  关系数据理论,这一章主要是在前面学过的关系表上面进行优化,因为在实际操作的过程中会遇到一些问题,进而提出一些规范化的概念和理论。

首先再提一下前面学过的关系模式:

关系模式由五部分组成:R(U, D, DOM, F)

R是符号化的元组语义
U为一组属性
D为属性组U中的属性所来自的域
DOM为属性到域的映射
F为属性组U上的一组数据依赖

数据依赖

  1. 函数依赖
  2. 多值依赖

因为在实际构建表完,进行一些基于基本表的操作时,出现一些问题,例如:

(1)数据冗余(2)更新异常

(3)插入异常(4)删除异常

基于上面的一些不好的性质,进一步提出啦规范化的概念及标准。

 
一、规范化

1.函数依赖

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

简单来说就是X可以确定Y。

(1)平凡函数依赖与非平凡函数依赖

X→Y,但Y⊈X则称X→Y是非平凡的函数依赖。
X→Y,但Y⊆X 则称X→Y是平凡的函数依赖。

(2)完全函数依赖与部分函数依赖

定义:在R(U)中,如果 X → Y X \rightarrow Y XY ,并且对于X的任何一个真子集X’, 都有 X ′ ↛ Y X' \not\rightarrow Y XY,则称Y对X完全函数依赖,记作 X ⟶ F Y X \stackrel {F} {\longrightarrow} Y XFY。 若 X → Y X \rightarrow Y XY ,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作 X ⟶ P Y X \stackrel {P} {\longrightarrow} Y XPY

(4)传递函数依赖

在R(U)中,如果X→Y(Y⊈X),Y↛X,Y→Z,Z⊈Y, 则称Z对X传递函数依赖。记为:X → Z。

特别地,这里如果 Y → X Y \rightarrow X YX,则 Z 直接依赖于 X 啦,而不是传递函数依赖啦。
 

2.码

设K为R中的属性或属性组合。若 K → U,则K为R的候选码。

如果 U 部分函数依赖于 K,即 K ⟶ P U K \stackrel {P} {\longrightarrow} U KPU,则 K 为超码。候选码是最小的超码,即 K 的任意一个真子集都不是候选码。

若候选码多余一个,则选择其中的一个为主码。

(1)主属性与非主属性

包含在任何一个候选码中的属性称为主属性,不包含在任何候选码中的属性称为非主属性或非码属性。极端的,整个属性组都是码,称为全码。

(2)外码

关系模式 R中属性或属性组X 并非 R的码,但 X 是另一个关系模式的码,则称 X 是R 的外部码,也称外码。

 
3.范式

  关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同范式。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化。

(1)第一范式

二维表每个分量必须是不可分开的数据项。满足了这个条件的关系模式一般就属于1NF。

(2)第二范式

关系模式R∈1NF,并且每一个非主属性都完全函数依赖于任何一个候选码。

(3)第三范式

设关系模式R∈1NF,若R中不存在这样的码X,属性组Y及非属性组Z(Z ⊉ Y)使得X→Y,Y→Z成立,Y↛ X,则称R∈3NF。

(4)BCNF

关系模式R∈1NF,若X → Y且 Y ⊈ X 时X必含有码,则R∈BCNF。即在R中,每一个决定因素都包含码。

一般来说,满足下述条件:

  1. 所有非主属性对每一个码都是完全函数依赖
  2. 所有主属性对每一个不包含它的码也是完全函数依赖
  3. 没有任何属性完全函数依赖于非码的任何一组属性

4.多值依赖

设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖X→→Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。

(1)4NF

关系模式R∈1NF,如果对于R的每个非平凡多值依赖X→→Y(Y ⊈ X),X都含有码,则R∈4NF。

简单介绍一下闭包的概念:

闭包(记作X+ )就是由一个属性直接或间接推导出的所有属性的集合。

第六章课后习题+总结_第1张图片
最后,在简单介绍一下规范化小结
第六章课后习题+总结_第2张图片
还有几个重要的定理和推论。
第六章课后习题+总结_第3张图片
第六章课后习题+总结_第4张图片


第六章课后习题+总结_第5张图片
最后,再附上第六章作业的照片,完结。

总结:

  这一章还是需要多思考和复习的,对于 NF 的定义,码和函数依赖的一些概念的确立,尤其是对候选码的选取尤为关键,这其中有一些技巧,主属性和非主属性的确定也因此而确立,以及第几范式的归属,和对模式进一步的分解,分解至何种程度比较好等等,还得多复习,多记忆。

你可能感兴趣的:(数据库作业,数据库)