数据库原理04-1 关系规范化理论
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
46
第四范式(续)
例: Teach(C,T,B) ∈ 4NF。 存在非平凡的多值依赖
C→→T, C→→B且C不是候选码
• 用投影分解法把Teach分解为如下两个关系模式:
CT(C, T) ∈ 4NF CB(C, B) ∈ 4NF C→→T, C→→B是平凡多值依赖
47
规范化小结
• 关系数据库的规范化理论是数据库逻辑 设计的工具。 • 一个关系只要其分量都是不可分的数据 项,它就是规范化的关系,但这只是最 基本的规范化。 • 规范化程度可以有多个不同的级别
8
例:U={学号,系部,系主任,课程名称,成绩} F={学号→系部,系部 →系主任, (学号,课程名称) →成绩}
注意:函数依赖不是指关系模式R的某 个或某些关系满足的条件,而是指R的 一切关系均要满足的约束条件
9
由定义可以导出下列概念:
1. 决定因素:若X →Y,则X叫做决定因素 2. 平凡的函数依赖:X →Y,Y X,则称 X→Y是平凡的函数依赖。 3. 非平凡的函数依赖:X →Y,但Y X, 则称X→Y是非平凡的函数依赖。 4. 互相依赖:若X→Y, Y→X, 则记作X ←→Y。 5. 若Y不函数依赖于X,则记作X → Y。
10
定义4.2 :完全函数依赖
在R(U)中,如果X →Y,并且对于X的任 何一个真子集X’,都有X’ →Y,则称Y对X完 全函数依赖。记作: F Y X
定义4.3 :部分函数依赖
在R(U)中,如果X →Y,并且对于X的一 个真子集X’,有X’ → Y,则称Y对X部分函 数依赖。记作: P Y X
定义4.4:传递函数依赖
规范化 数据依赖的公理系统 模式分解
1
一个低一级范式的关系模式,通过模 式分解可以转换为若干个高一级范式 的关系模式的集合,这种过程就叫做 规范化。 范式表示关系模式满足的某种级别。
1971E.F.Codd 提出范式概念
1NF 2NF 3NF BCNF 4NF 5NF
5NF 4NF BCNF 3NF 2NF
41
多值依赖(续)
• 平凡多值依赖和非平凡的多值依赖
– 若X→→Y,而Z=Φ,则称
X→→Y为平凡的多值依赖
– 否则称X→→Y为非平凡的多值依赖
42
多值依赖的性质
(1)多值依赖具有对称性
若X→→Y,则X→→Z,其中Z=U-X-Y 多值依赖的对称性可以用完全二分图直观地表 示出来。
43
多值依赖的对称性
推销员号
推销员姓名
物资名
物资价格
推销员姓名 推销区域
27
•凡是满足3NF的关系,一般都能获得满意 的效果。但是某些情况下,3NF仍会出现 问题。
•原因是没有对主属性与关键字之间给出任 何限制,如果出现主属性部分或传递依赖
于KEY,则也会使关系性能变坏
28
五、BCNF(扩充的3NF)
定义:关系模式R(U,F) ∈1NF。若 X→Y且Y X时X必含有码,则R(U,F) ∈BCNF。 即:关系模式R(U,F) 中,若每一个决定 因素都包含码,则R(U,F) ∈BCNF。
t s w x x x y1 y2 y1 z2 z1 z1
40
v
x
y2
z2
课程C
t 物理 w 物理 物理 v 物理 s 物理 物理 数学 数学 数学 数学 数学 数学 …
教员T
李勇 李勇 李勇 王军 王军 王军 李勇 李勇 李勇 张平 张平 张平 …
参考书B
普通物理学 光学原理 物理习题集 普通物理学 光学原理 物理习题集 数学分析 微分方程 高等代数 数学分析 微分方程 高等代数 …
定义:关系模式R(U,F)中若不存在这样的码X, 属性组Y及非主属性组Z(ZY)使得X→Y,(Y →X) Y →Z成立,则称R(U,F)∈3NF。 即:若R 学号 ∈3NF,且 每一个非主 属性既不部 系部 系主任 分依赖于码 也不传递依 若R ∈2NF,且每一个非主属性 赖于码。 21 不传递依赖于码,则R ∈3NF。
主码:若
候选码多 于一个, 则选定其 中的一个 为主码。
主属性:
包含在任 何一个侯 选码中的 属性。
非主属性:不包含在
任何码中的属性。
全码:
整个属性组是码。
定义4.6: 关系模式R中属性或属性组X并非R的码,
但X是另一个关系模式的码,则称X是R的外码 主码与外码提供了一个表示关系间联系的手段16
三、第一范式(1NF)
…
…
张平
34
…
数学分析
用二维表表示Teaching
课程C
物理 物理 物理 物理 物理 物理 数学 数学 数学 数学 数学 数学 …
教员T
李勇 李勇 李勇 王军 王军 王军 李勇 李勇 李勇 张平 张平 张平 …
参考书B
普通物理学 光学原理 物理习题集 普通物理学 光学原理 物理习题集 数学分析 微分方程 高等代数 数学分析 微分方程 高等代数 …
32
六、多值依赖与第四范式(4NF)
例: 学校中某一门课程由多个教师讲授,
他们使用相同的一套参考书。
关系模式Teaching(C, T, B)
课程C、教师T 和 参考书B
33
表4.1
课 程 C
教 员 T
李勇 王军
参考书B
普通物理学
物理
光学原理
物理习题集
数学
李勇 张平
数学分析
微分方程 高等代数
计算数学
5
改造上述关系模式
学号
课程名
课程号 成绩
• • • •
R1(学号,学院) R2(学院,院长) R3(课程号,课程名) R4(学号,课程名,成绩)
学院
院长
6
一、函数依赖:
属性或属性组之间可能存在的依赖性。
1、定义 定义4.1:设R(U)是属性集U上的关系模 式。X,Y是U的子集。若对于R(U)的任意 一个可能的关系r,r 中不可能存在两个 元组在X上的属性值相等,而在Y上的属 性值不等,则称X函数确定Y或Y函数依赖 于X,记作X→Y。
35
多值依赖与第四范式(续)
• Teaching∈BCNF: • Teach具有唯一候选码(C,T,B), 即全码 • Teaching模式中存在的问题
(1)数据冗余度大:有多少名任课教师,参考
书就要存储多少次
36
多值依赖与第四范式(续)
(2)插入操作复杂:当某一课程增加一名任课教 师时,该课程有多少本参照书,就必须插入 多少个元组
MA
MA MA IS IS
M
M M J J
AA
DD EE EE BB
18
B
A C B A
四、第二范式(2NF)
定义: 若R∈1NF,且每一个非主属 性完全函数依赖于码,则R∈2NF。
学号
课程名称
成绩
系部
系主任
19
学号
系部
系主任
学号
课程名称
成绩
学号,系部,系主任
学号,课程名称,成绩
20
四、第三范式(3NF)
7
或者说:关系模式R(U)的任一具体关系,属 性集X在任意元组上的值能唯一决定属性集Y 在该元组上的值,则称X函数确定Y或Y函数 依赖于X,记作X→Y。 或者说:设R(U)是一个关系模式,X,Y是U 的子集,对于R中X的每一个值都有Y的唯一 值与之对应,则称X函数确定Y或Y函数依赖 于X,记作X→Y。
• 产生原因
存在多值依赖
38
1、多值依赖
• 定义 设R(U)是一个属性集U上的一个关系模式, X、 Y 和Z是U的子集,并且Z=U-X-Y,多值依赖 X→→Y成立当且仅当对R的任一关系r,r在(X,Z) 上的每个值对应一组Y的值,这组值仅仅决定于X 值而与Z值无关
例 Teaching(C, T, B) 对于(C,B)的每一个值,T有一组值与之对应,而 不论B取何值
1NF
2
第一节 问题的提出
关系模式
R (U,D,dom,I,F) 数据依赖:关系中属性间互相 依存、互相制约的关系。
[函数依赖、多值依赖、连接 依赖、分层依赖和相互依赖]
3
例: U={学号,学院,院长,课程号,课程名,成绩} F={学号→学院,学院 →院长, 课程号→课程名, (学号,课程号) →成绩}
31
例:关系模式STJ(S,T,J)
S:学生 [某一学生选定某门课,就对应一个固定教师] T:教师 [每个教师只教一门课] J: 课程 [每门课有若干教师] 函数依赖: (S,J)→ T
(S,T)→ J
分析得知:STJ ∈ 3NF 但是:STJ ∈ BCNF 因为: T → J
以分解为:ST(S,T)TJ(T,J)
学号 课程号
课程名 学院 院长
4
成绩
学号
学 院
院 课程 长 号
缺点 1、冗余太大 2、操作异常 1)插入异常 2)删除异常 3)修改异常
0301 CS 0301 CS
0301 CS
0302 IS 0302 IS
课 成 程 绩 名 M 000 AA 78 1 M 000 BB 88 2 M 000 DD 67 5 C 000 AA 89 1 C 000 DD 67 5
例:项目(编号,项目名称,负责
人,职务, 成员,任务情况) (假设:负责人无重名情况)
项目名称
负责人 成员 职务
22
编号 任务情况
任务(编号,成员,任务情况)
项目(编号,项目名称,负责人,职务)
任务
编号 任务情况 成员
项目
编号
项目名称
负责人
职务
23
任务
编号 任务情况 成员
项目
项目名称
编号
负 责 人 职 务
48
规范化小结(续)
• 规范化程度过低的关系不一定能够很好地描述 现实世界,可能会存在插入异常、删除异常、
修改复杂、数据冗余等问题
• 一个低一级范式的关系模式,通过模式分解可
以转换为若干个高一级范式的关系模式集合,
这种过程就叫关系模式的规范化
49
规范化小结(续)
在R(U)中,如果X →Y,(Y X), Y → X,Y → Z,则称Z对X传递函数依赖。
11
学号
课程号
成绩
课程名
学院
院长
12
13
函数依赖图:
姓名 工种
超额
工号 日期
定额
车间
车间主任
14
分析:
完全函数依赖 部分函 数依赖
15
定义4.5:设K为R(U,F)中的属性或属性组, F 若 K ,则K为R的候选码。 U
负责人
职务
负责人
24
例:分析下列关系属于第几范式
推销员管理信息: (推销员编号,推销员姓名,物资号, 物资名,物资价格,销售数量,销售区 域)
25
函数依赖关系:
物资名 物资价格
推销员号 物资号
推销员姓名
销售数量
推销区域
关键字:推销员号+物资号
判断:属于1NF
26
推销员号+物资号
销售数量 物资号
例如物理课增加一名教师刘关,需要插入3个元组:
(物理,刘关,普通物理学)
(物理,刘关,光学原理)
(物理,刘关,物理习题集)
37
多值依赖与第四范式(续)
(3) 删除操作复杂:某一门课要去掉一本参考书,
该课程有多少名教师,就必须删除多少个元组
(4) 修改操作复杂:某一门课要修改一本参考书,
该课程有多少名教师,就必须修改多少个元组
39
1、多值依赖
• 在R(U)的任一关系r 中,如果存在元组t,s 使得 t[X]=s[X],那么就必然存在元组 w,v r,(w, v可以与s,t相同),使得w[X]=v[X]=t[X],而 w[Y]=t[Y],w[Z]=s[Z],v[Y]=s[Y],v[Z]=t[Z] (即交换s,t元组的Y值所得的两个新元组必在r 中),则Y多值依赖于X,记为X→→Y。 这里,X,Y 是U的子集,Z=U-X-Y。
定义:满足关系的每一个分量是不可分的数据 项这一条件的关系模式就属于第一范式(1NF)。
17
学号
系部
系主 任
课程 名称
成绩
•缺点 1.插入异常 2.删除异常 3.冗余太大 4.修改复杂
99101 99101 99101
CS CS CS
X X X
AA BB CC
A B A
99102
99102 99103 99104 99105
29
一个满足BCNF的关系模式有: •所有非主属性对每一个码都是完全 函数依赖。 •所有主属性对每一个不包含它的码 也是完全函数依赖。 •没有任何属性完全函数依赖于非码 的任何一组属性。
30
例:关系模式SJP(S,J,P)
S:学生 [学生选修课程有一定的名次] J:课程 [每门课程中每一名次只有一个学生] P:名次 (名次没有并列) 函数依赖: (S,J)→ P (J,P)→ S 分析得知:SJP ∈ 3NF SJP ∈ BCNF
Yi1 Yi2 Xi Zi1 Zi2 … Zim
44
…
Yin
多值依赖的对称性
李勇
物 理
普通物理学 光学原理 物理习题集
王军
45
2、第四范式(4NF)
• 定义: 关系模式R(U,F)∈1NF,如果对于R
的每个非平凡多值依赖X→→Y(Y X),X都
含有候选码,则R∈4NF。
(X→Y)
• 如果R ∈ 4NF, 则R ∈ BCNF 不允许有非平凡且非函数依赖的多值依赖 允许的是函数依赖(是非平凡多值依赖)、平 凡的多值依赖