数据库 第四章 关系模式的规范化设计理论

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4.2 关系模式的函数依赖

函数依赖的一般概念

几个常用的术语和记号
若X→Y,则称X为这个函数依赖的决定因素,简称
X是决定因素。 若X→Y且Y→X,则称X与Y相互函数依赖,记作X Y。 若Y不函数依赖于X,则记作 X→Y 。 若X→Y,但Y X,则称X→Y是平凡函数依赖。 若X→Y,但Y X ,则称X→Y是非平凡函数依赖。

4.2 关系模式的函数依赖

函数依赖的一般概念

定义4.3
对于关系模式R(U),设X、Y和Z都是U的子集。如
果X→Y,Y→Z,且Y→X,Y X,Z Y,则称Z 对X传递函数依赖(Transitive Founctional Dependence),记作: X t Y

例4.4
4.3 关系模式的规范化

BC范式(BCNF)

例题
设有关系模式SCT(U)=(学号,课程号,教师姓名),
语义如下:(1)每位教师不重名; (2)每位教师仅上一 门课; (3)每门课程可由若干教师讲授; (4)学生选定某 门课程后,教师即唯一确定
函数依赖集F如下: F={(学号,课程号)→教师姓名,(学号,教师姓

一个低一级范式的关系模式,通过模式分解可 以转换为若干个高一级范式的关系模式的集合, 这种过程就叫规范化。
4.3 关系模式的规范化

第一范式(1NF)

定义4.12
如果一个关系模式R(U)的所有属性都是不可再分的
基本数据项,则称R(U)为第一范式,即R(U)∈1NF

一般而言,每一个关系模式都必须满足1NF, 这是对每一个关系最基本的要求。 但是,第一范式通常存在数据冗余过多、删除 异常和插入异常等问题。
若关系模式R(U)∈1NF,且R(U)的每个属性都不传
递依赖于R的候选键,则称R(U)为BC范式,即 R(U)∈BCNF。
4.3 关系模式的规范化

BC范式(BCNF)

若关系模式R(U)∈BCNF,则以下结论成立。
R(U)的所有非主属性都完全函数依赖于每一个候选
键,因此R(U)∈2NF。 R(U)的所有主属性都完全函数依赖于不包含它的候 选键。 R(U)中没有属性完全函数依赖于任何一组非候选键 属性。

4.2 关系模式的函数依赖

再论关系与关系模式

关系模型的外延——关系,基本表或当前值。 关系是元组的集合,由于用户经常对关系进行 插入,删除和修改等操作,所以关系是随时间 变化而不断变化的。

关系模型内涵——关系模式,是对关系中数据 的定义和数据完整性约束的定义等,其中对数 据的定义包括对关系的属性、域的定义和说明 等,而关键是关系模式的定义和说明,且这些 定义和说明是相对稳定的。

第二范式(2NF)

定义4.13
若R(U)∈1NF,且每一个非主属性完全函数依赖于
某个候选键,称R(U)为第二范式,即R(U)∈2NF。


有关系模式R(U)=(Sno,Sdept,Sloc,Cno,
Grade),候选键为(Sno,Cno) Sno Sdept
Grade
Cno Sloc
R 2 NF

R1(Sno, Cno, Grade) R2(Sno, Sdept, Sloc)
Sno
Sdept
Grade
Cno Sloc
4.3 关系模式的规范化

第二范式(2NF)

注意:将一个1NF的关系分解为多个2NF的关 系,并不能完全消除关系模式中的各种异常情 况和数据冗余。
4.3 关系模式的规范化
4.3 关系模式的规范化

第二范式(2NF)

非2NF关系模式所引起的问题
插入异常

如:要插入一个学生Sno=‘20090101’, Sdept=‘cs’, Sloc=‘181-326’,该元组不能插入。
删除异常

如:某学生20090101只选一门C06号课,现在他不选了, 则必须删除整个元组,学生的信息也丢失了。

候选键与主键

定义4.5
对关系模式R(U),包含在任何一个候选键中的属性
称为主属性(Primary Attribute),不包含在任何候选 键中的属性称为非主属性(Nonprimary Attribute)或 非码属性(Non-key Attribtute)。

定义4.6
对关系模式R(U),设X
U。若X不是R(U)的主键, 但X是另一个关系模式的主键,则称X是R(U)的外 键或外部关键字(Foreign key)。
4.3 关系模式的规范化

如何构造一个合适于现实世界具体问题的 数据库模式?

E. F. Codd在1977年提出了关系数据库规范化 理论,主要研究关系模式中属性之间的相互依 赖关系,以及对关系模式性能的影响。 关系模式的规范化理论为我们提供了判断关系 模式优劣的理论标准。
插入异常、删除异常、冗余度大等问题
非3NF关系模式的转换
模式分解
Sno
Sdept
Sloc
4.3 关系模式的规范化

BC范式(BCNF)
由Boyce和Codd提出的,通常认为BCNF是修 正的3NF。 定义4.15

若关系模式R(U)∈1NF,对于R(U)的任意一个函数
依赖X→Y,若 Y X,则X必含有候选键,那么称 R(U)为BC范式,即R(U)∈BCNF。

第三范式(3NF)

定义4.14
设关系模式R(U)∈2NF,且每一个非主属性不传递
函数依赖于R(U)的候选键,则称R(U)为第三范式, 即R(U)∈3NF。


Sno Sno Sdept
Grade Cno
Sloc
R 3NF
R 3NF
4.3 关系模式的规范化

第三范式(3NF)

非3NF关系模式所引起的问题

4.3 关系模式的规范化

范式(normal form)

即正规公式,是符合某一种级别的关系模式的 集合。 满足不同程度要求 的为不同范式。


关系模式R满足第i
范式要求,就可以
写成R∈iNF
4.3 关系模式的规范化

范式(normal form)

对于各种范式,有
5NF 4NF BCNF 3NF 2NF 1NF
U的子集,并且Z=U-X-Y。若对于R(U)的任一具 体关系r,r在属性(X,Z)上的每一个值,就有属性
Y上的一组值与之对应,且这组值仅仅决定于X上的
值而与Z上的值无关,则称Y 多值依赖于X,记作 X→→Y。
4.3 关系模式的规范化

多值依赖

性质

互补律:若X→→ Y,则X →→ Z,其中Z=U- X-Y。多值依赖的互补性也称为对称性。 函数依赖导出多值依赖:若X→Y,则X→→Y。
如:某学生从计算机系cs转到数学系ma,则必须同时修改 该生的住处,且若该生选修了n门课,则需修改多个元组 中的值。
修改复杂

4.3 关系模式的规范化

第二范式(2NF)

非2NF关系模式的转换
方法:将关系模式进行分解。用投影分解把原关系
模式R分解为两个或多个关系模式。
例如,上例可分解为:
名)→课程号,教师姓名→课程号}
4.3 关系模式的规范化

BC范式(BCNF)

例题
∴关系模式SCT∈3NF,但是SCT∉BCNF
学号 课程号
学号 教师 姓名 教师姓名
课程 号
4.3 关系模式的规范化

BC范式(BCNF)

3NF与BCNF的区别
当3NF消除了主属性对候选键的部分和传递函数依
第四章
关系模式的规范化设计理论
学习目标

掌握规范化理论的有关概念和方法 掌握函数依赖定义及其推理规则


掌握各种范式及其相互关系
掌握关系模式分解中存在的问题、分解的 无损连接性和保持函数依赖性等
4.1 问题的提出

关系模式可能存在的异常
学号 20010101 … 20010101 课程号 C0101 … C0601 任课教师 许红霞 … 李桂清 任课教师所在系 计算机系 … 数学系 成绩 85 … 88
⑵ ⑶
传递律:若X →→ Y且Y →→ Z,则X →→(Z - Y)。
增广律:若X →→ Y,且V W,则WX →→ VY。

4.3 关系模式的规范化

多值依赖

性质
⑸ ⑹
自反律:若Y X,则 X →→ Y。
多值依赖导出函数依赖:若X →→Y,ZY, Y∩W=∅,W→Z,则 X→Z。
Leabharlann Baidu
4.3 关系模式的规范化

例题
进厂年 职工号 001 姓名 李勇 基本 500 95
工资 补助 100
性别 男
R 1NF
002
001 002 姓名 李勇 刘晨 王敏 张立
刘晨
王敏 张立
480
650 820
80
120 150 补助工资 100 80 120 150

女 男 性别 男 女 女 男
96
4.3 关系模式的规范化

BC范式(BCNF)

定理4.8
若R(U)∈BCNF,则R(U)
∈ 3NF。
定理4.9
如果R(U)∈3NF且R(U)有唯一候选键X’,且不存在
使X ' X的非平凡函数依赖X→Y,则必有 R(U)∈BCNF

BCNF是在函数依赖条件下对模式分解所能达 到的最高分离程度。
4.2 关系模式的函数依赖

再论关系与关系模式

关系模式是相对稳定的、静态的,而关系却是 动态变化的,不稳定的 关系的每一次变化结果,都是关系模式对应的 一个新的具体关系。


小写字母r表示关系模式R(U)的对应的具体关 系
4.2 关系模式的函数依赖

函数依赖的一般概念

定义4.1
设R(U)是属性集U={A1,
A2, …, An}上的关系模式, X和Y是U的子集。若对R(U)的任一具体关系r中的 任意两个元组t1和t2,只要t1[X]=t2[X]就有 t1[Y]=t2[Y],则称“X函数确定Y”或“Y函数依赖于 X” (Founctional Dependence),记作X→Y。 约束条件。
注意:R(U)的一切具体关系r都要满足函数依赖的
赖时,则成为BCNF。
4.3 关系模式的规范化

多值依赖
例题4.17 例

课程C 高等数学
教师T T11 T12 T13
参考书B B11 B12
数据库基础理论
T21 T22 T23
B21 B22 B23
4.3 关系模式的规范化

多值依赖

定义4.16
设R(U)是属性集U上的一个关系模式,X,Y,Z是
过多的“数据依赖”。

数据依赖
指一个关系中属性值之间的相互联系,它是现实世
界属性间相互联系的体现,是数据之间的内在性质, 是语义的体现。

常见的数据依赖有
函数依赖 多值依赖。
4.1 问题的提出

异常问题的解决
对关系模式进行分解。先分析和掌握属性间的 语义关联,然后再依据这些关联得到相应的设 计方案。 例:P113-114 例4.2
职工号
基本工资 500 480 650 820
R 1NF
95001 95002 96001 96002
4.3 关系模式的规范化

第一范式(1NF)
属性是否可以再分,取决于这个属性在实际问 题中的重要程度。 但是,第一范式通常存在数据冗余过多、删除 异常和插入异常等问题。

4.3 关系模式的规范化
20010102
… 20010102 … 20010601
C0101
… C0201 … C0601
许红霞
… 李立 … 李桂清
计算机系
… 电子信息系 … 数学系
92
… 86 … 90
(1) 冗余过多 (3) 插入异常
(2) 更新异常 (4) 删除异常
4.1 问题的提出

异常原因分析

根本原因
关系的结构。在关系模式的结构中,属性之间存在
4.2 关系模式的函数依赖

候选键与主键

定义4.4
对关系模式R(U),设K
U。如果 K f U ,则称K 为R(U)的候选键或候选关键字(Candidate Key)。通 常在R(U)的所有候选键中选定一个作为主键 (Primary Key)。主键也称为主码或主关键字。
4.2 关系模式的函数依赖
4.2 关系模式的函数依赖

函数依赖的一般概念

定义4.2
设R(U)是属性集U={A1,
A2, …, An}上的关系模式。
X和Y是U的子集。

如果X→Y,且对于X的任何一个真子集X’,都有 X’→Y ,则称Y对X完全函数依赖(Full Functional Dependence)或者X完全决定Y,记作: f Y X 如果X→Y,但Y不是完全函数依赖于X,则称Y 对X部分函数依赖(Partial Founctional Dependence), 记作: X p Y
相关文档
最新文档