数据库 第四章 关系模式的规范化设计理论
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
过多的“数据依赖”。
数据依赖
指一个关系中属性值之间的相互联系,它是现实世
界属性间相互联系的体现,是数据之间的内在性质, 是语义的体现。
常见的数据依赖有
函数依赖 多值依赖。
4.1 问题的提出
异常问题的解决
对关系模式进行分解。先分析和掌握属性间的 语义关联,然后再依据这些关联得到相应的设 计方案。 例:P113-114 例4.2
4.2 关系模式的函数依赖
候选键与主键
定义4.4
对关系模式R(U),设K
U。如果 K f U ,则称K 为R(U)的候选键或候选关键字(Candidate Key)。通 常在R(U)的所有候选键中选定一个作为主键 (Primary Key)。主键也称为主码或主关键字。
4.2 关系模式的函数依赖
U。若X不是R(U)的主键, 但X是另一个关系模式的主键,则称X是R(U)的外 键或外部关键字(Foreign key)。
4.3 关系模式的规范化
如何构造一个合适于现实世界具体问题的 数据库模式?
E. F. Codd在1977年提出了关系数据库规范化 理论,主要研究关系模式中属性之间的相互依 赖关系,以及对关系模式性能的影响。 关系模式的规范化理论为我们提供了判断关系 模式优劣的理论标准。
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
第三范式(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 关系模式的规范化
例题
进厂年 职工号 001 姓名 李勇 基本 500 95
工资 补助 100
性别 男
R 1NF
002
001 002 姓名 李勇 刘晨 王敏 张立
刘晨
王敏 张立
480
650 820
80
120 150 补助工资 100 80 120 150
女
女 男 性别 男 女 女 男
96
候选键与主键
定义4.5
对关系模式R(U),包含在任何一个候选键中的属性
称为主属性(Primary Attribute),不包含在任何候选 键中的属性称为非主属性(Nonprimary Attribute)或 非码属性(Non-key Attribtute)。
定义4.6
对关系模式R(U),设X
4.3 关系模式的规范化
范式(normal form)
即正规公式,是符合某一种级别的关系模式的 集合。 满足不同程度要求 的为不同范式。
关系模式R满足第i
范式要求,就可以
写成R∈iNF
4.3 关系模式的规范化
范式(normal form)
对于各种范式,有
5NF 4NF BCNF 3NF 2NF 1NF
⑵
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
若关系模式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)中没有属性完全函数依赖于任何一组非候选键 属性。
第二范式(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
一个低一级范式的关系模式,通过模式分解可 以转换为若干个高一级范式的关系模式的集合, 这种过程就叫规范化。
4.3 关系模式的规范化
第一范式(1NF)
定义4.12
如果一个关系模式R(U)的所有属性都是不可再分的
基本数据项,则称R(U)为第一范式,即R(U)∈1NF
一般而言,每一个关系模式都必须满足1NF, 这是对每一个关系最基本的要求。 但是,第一范式通常存在数据冗余过多、删除 异常和插入异常等问题。
第四章
关系模式的规范化设计理论
学习目标
掌握规范化理论的有关概念和方法 掌握函数依赖定义及其推理规则
掌握各种范式及其相互关系
掌握关系模式分解中存在的问题、分解的 无损连接性和保持函数依赖性等
4.1 问题的提出
关系模式可能存在的异常
学号 20010101 … 20010101 课程号 C0101 … C0601 任课教师 许红霞 … 李桂清 任课教师所在系 计算机系 … 数学系 成绩 85 … 88
如:某学生从计算机系cs转到数学系ma,则必须同时修改 该生的住处,且若该生选修了n门课,则需修改多个元组 中的值。
修改复杂
4.3 关系模式的规范化
第二范式(2NF)
非2NF关系模式的转换
方法:将关系模式进行分解。用投影分解把原关系
模式R分解为两个或多个关系模式。
例如,上例可分解为:
职工号
基本工资 500 480 650 820
R 1NF
95001 95002 96001 96002
4.3 关系模式的规范化
第一范式(1NF)
属性是否可以再分,取决于这个属性在实际问 题中的重要程度。 但是,第一范式通常存在数据冗余过多、删除 异常和插入异常等问题。
4.3 关系模式的规范化
4.3 关系模式的规范化
第二范式(2NF)
非2NF关系模式所引起的问题
插入异常
如:要插入一个学生Sno=‘20090101’, Sdept=‘cs’, Sloc=‘181-326’,该元组不能插入。
删除异常
如:某学生20090101只选一门C06号课,现在他不选了, 则必须删除整个元组,学生的信息也丢失了。
插入异常、删除异常、冗余度大等问题
非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。
名)→课程号,教师姓名→课程号}
4.3 关系模式的规范化
BC范式(BCNF)
例题
∴关系模式SCT∈3NF,但是SCT∉BCNF
学号 课程号
学号 教师 姓名 教师姓名
课程 号
4.3 关系模式的规范化
BC范式(BCNF)
3NF与BCNF的区别
当3NF消除了主属性对候选键的部分和传递函数依
R1(Sno, Cno, Grade) R2(Sno, Sdept, Sloc)
Sno
Sdept
Grade
Cno Sloc
4.3 关系模式的规范化
第二范式(2NF)
注意:将一个1NF的关系分解为多个2NF的关 系,并不能完全消除关系模式中的各种异常情 况和数据冗余。
4.3 关系模式的规范化
⑵ ⑶
传递律:若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。
赖时,则成为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是
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都要满足函数依赖的
4.3 关系模式的规范化
BC范式(BCNF)
例题
设有关系模式SCT(U)=(学号,课程号,教师姓名),
语义如下:(1)每位教师不重名; (2)每位教师仅上一 门课; (3)每门课程可由若干教师讲授; (4)学生选定某 门课程后,教师即唯一确定
函数依赖集F如下: F={(学号,课程号)→教师姓名,(学号,教师姓
4.2 关系模式的函数依赖
再论关系与关系模式
关系模型的外延——关系,基本表或当前值。 关系是元组的集合,由于用户经常对关系进行 插入,删除和修改等操作,所以关系是随时间 变化而不断变化的。
关系模型内涵——关系模式,是对关系中数据 的定义和数据完整性约束的定义等,其中对数 据的定义包括对关系的属性、域的定义和说明 等,而关键是关系模式的定义和说明,且这些 定义和说明是相对稳定的。
20010102
… 20010102 … 20010601
C0101
… C0201 … C0601
许红霞
… 李立 … 李桂清
计算机系
… 电子信息系 … 数学系
92
… 86 … 90
(1) 冗余过多 (3) 插入异常
(2) 更新异常 (4) 删除异常
4.1 问题的提出
异常原因分析
根本原因
关系的结构。在关系模式的结构中,属性之间存在
4.2 关系模式的函数依赖
函数依赖的一般概念
几个常用的术语和记号
若X→Y,则称X为这个函数依赖的决定因素,简称
Hale Waihona Puke 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.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是在函数依赖条件下对模式分解所能达 到的最高分离程度。
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。
4.2 关系模式的函数依赖
再论关系与关系模式
关系模式是相对稳定的、静态的,而关系却是 动态变化的,不稳定的 关系的每一次变化结果,都是关系模式对应的 一个新的具体关系。
小写字母r表示关系模式R(U)的对应的具体关 系
4.2 关系模式的函数依赖
函数依赖的一般概念
定义4.1
设R(U)是属性集U={A1,