优选模式分解ppt(共65张PPT)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
U=∪Ui,并且没有Ui⊆Uj,1≤i, j≤n
Fi是F在Ui上的投影不存在非平凡的函数依赖。
模式分解的概念
• 分解的概念
R( {学生学号,学生姓名,所在系,系主任,课程名称,成绩}
{学生学号→学生姓名,学生学号→所在系,所在系→系主任,(学 生学号,课程名称)→成绩}
ρ3={
R1 ({学生学号,课程名称,成绩}, {(学生学号,课程)→成
• 分解的概念
R(学生学号,学生姓名,所在系,系主任,课程名称,成绩 )
1NF
去除非主属性对于键的部分函数依赖
R1(学生学号,课程名称,成绩) R2(学生学号,学生姓名, 所在系,系主任)
去除非主属性对于键的传递函数依赖
2NF
R1(学生学号,课程名称,成绩) R3(学生学号,学生姓名, 所在系) R4(所在系,系主任)
关系模式的规范化设计
• 所要解决的问题
– 什么是“好”的关系数据模式 – 如何评价一个好的关系数据模式 – 如何设计一个“好”的关系数据模式
关系模式的规范化设计
• 主要内容
– 关系模式的设计问题 – 关系模式规范化的基本概念和理论 – 关系模式分解的理论基础和算法
回顾
1NF
消除
决定
因素
2NF
非码
绩}) , R2 ({学生学号,学生姓名,所在系}, {学生学号→学生姓名,
学生学号→所在系}) ,
R3 ({学生学号,系主任}, {学生学号→系主任}) }
U=∪Ui,并且没有Ui⊆Uj,1≤i, j≤n Fi是F在Ui上的投影。
没有保持函数依赖
模式分解的概念
• 分解的概念
– 一个关系模式的分解并不是唯一的。 – 理想的分解应该是既具有无损连接性又保持
:
Rk(Uk,Fk)
bkn
An Uk
无损连接分解
【例】设有关系模式R(U,F),U=ABCDE,F={A→C,B→C ,C→D,DE→C,CE→A}。ρ={R1(AD),R2(AB) ,R3(BE) , R4(CDE) ,R5(AE)}是R的一个分解。试判断ρ是否为无损分解 。
A BCDE 1)建立一张k行n列的表,每 行对应分解中的一个关系模 R1(AD) a1 b12 b13 a4 b15
分解。
2)对每一形如X→Y 的FD做如下操作:
检查X中的属性所对应的列,找出X相 等的行,将这些行中对应的Y中的属性 列所对应的符号改为一致。即若其中 之一为aj,则都改成aj;否则,将其都改 成这些列中行号最小的符号bij。
R1(AD) R2(AB) R3(BE) R4(CDE)
A BCDE
a1 b12 b13 a4 b15 a1 a2 b23 b24 b25 b31 a2 b33 b34 a5 b41 b42 a3 a4 a5
分解ρ是无损分解
无损连接分解
• 算法:检验一个分解是否是无损分解
– 输入:
关系模式R(U,F), 关系模式规范化的基本概念和理论
ρ={R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)}是R的一个分解。
则关系模式的集合ρ为R的一个分解
U={A ,A ,…,A }; BGG+= BGDEC; C∈ BGG+,BG→C冗余;
函数依赖,这样的分解是等价分解。 – 等价分解
• 分解具有无损连接性,即数据等价 • 分解保持函数依赖,即语义等价 • 分解既具有无损连接性又保持函数依赖,即数据
等价并且语义等价
无损连接分解
• 无损连接分解
– 设ρ={ R1(U1,F1),…,Rk(Uk,Fk)}是R(U,F)
R3(所在系),
的一个分解,r是R(U,F)的一个关系,则 因为A DG+ ,所以D→A G+,故ρ保持函数依赖。
A→C
B→C
R1(AD) R2(AB) R3(BE) R4(CDE) R5(AE)
A BCDE
a1 b12 b13 a4 b15 a1 a2 b13 b24 b25 b31 a2 b33 b34 a5 b41 b42 a3 a4 a5 a1 b52 b13 b54 a5
无损连接分解
【例】设有关系模式R(U,F),U=ABCDE,F={A→C,B→C, C→D,DE→C,CE→A}。ρ={R1(AD),R2(AB) ,R3(BE) , R4(CDE) ,R5(AE)}是R的一个分解。试判断ρ是否为无损分解
– 输出: 2)检查ρ中每个关系模式是否均属于BCNF。
判断ρ相对于F是否具有无损分解特性。
无损连接分解
• 检验一个分解是否无损的算法
– 步骤
1)建立一张k行n列的表,每
行对应分解中的一个关系模式
Ri,每列对应一个属性Aj, 若属性Aj∈Ui,则在i行j列处 填aj,否则填bij。
A1∈U1
A1 … An R1(U1,F1) a1
式Ri,每列对应一个属性Aj, R2(AB) a1 a2 b23 b24 b25
若属性Aj∈Ui,则在i行j列处 R3(BE) b31 a2 b33 b34 a5
填aj,否则填bij。
R4(CDE) b41 b42 a3 a4 a5
R5(AE) a1 b52 b53 b54 a5
初始状态
无损连接分解
n(
ρ
系模式上投影的连接。 2)检查ρ中每个关系模式是否均属于BCNF。
去除不被候选键所蕴涵的非平凡的多值依赖 R5(课程名称),
( – 若对R<U,F> r均有r= 的任何一个关系 BGG+= BGDEC; C∈ BGG+,BG→C冗余;
试判断ρ是否为无损分解。
mρ
r)成立,则
试判断ρ是否为无损分解称。 分解ρ具有无损连接性。
且C →AB F+ ,C →DE F+ (如何来判断?)
【例】设有关系模式R(U,F),U=ABCDE,F={A→C,B→C,C→D,DE→C,CE→A}。
πR (r) |t∈r}为r在子模式R 上的投影, 【例】 设关系模式R(ABCD),F={A→B,B→C,C→D,D→A},试判断分解ρ={R1(AB),R2(BC),R3(CD)}是否保持函数依赖。
【例】设有关系模式R(U,F),U=ABCDE,F={A→C,B→C, C→D,DE→C,CE→A}。ρ={R1(AD),R2(AB) ,R3(BE) , R4(CDE) ,R5(AE)}是R的一个分解。试判断ρ是否为无损分
解。
2)把表格看成模式R的 一个关系,反复检查F
中的每个函数依赖在表格 中是成立,若不成立,则 修改表格中的值。
的非
平凡 函数
3NF
依赖
---- BCNF
4NF
去除非主属性对于候选键的部分函数依赖 去除非主属性对于候选键的传递函数依赖 去除主属性对于候选键的部分和传递函数依赖 去除不被候选键所蕴涵的非平凡的多值依赖
回顾
• Armstrong公理系统
– 逻辑蕴涵 – Armstrong公理系统推理规则 – FD的逻辑蕴涵 – 函数依赖集F 的闭包F+ – 属性集闭包 – 函数依赖集等价和最小函数依赖集
解。
A→C
A BCDE R1(AD) a1 b12 b13 a4 b15 R2(AB) a1 a2 b13 b24 b25 R3(BE) b31 a2 b33 b34 a5 R4(CDE) b41 b42 a3 a4 a5 R5(AE) a1 b52 b13 b54 a5
无损连接分解
【例】设有关系模式R(U,F),U=ABCDE,F={A→C,B→C, C→D,DE→C,CE→A}。ρ={R1(AD),R2(AB) ,R3(BE) , R4(CDE) ,R5(AE)}是R的一个分解。试判断ρ是否为无损分 解。
空
模式分解的概念
• 分解的概念
【 【例例】】RR((编学号生学,号连,队学,生连姓长名,,科所目在,系成,绩系主),任F=,{ 课编程号名→称, 连成绩队},,连队F=→{学连生长学,号(→编学号生,姓科名目,)→学成生绩学号}→所在系,所在
系→系主任,(学生学号,课程名称)→成绩}
模式分解的概念
A BCDE R1(AD) a1 b12 b13 a4 b15 R2(AB) a1 a2 b23 b24 b25 R3(BE) b31 a2 b33 b34 a5 R4(CDE) b41 b42 a3 a4 a5 R5(AE) a1 b52 b53 b54 a5
初始状态
无损连接分解
【例】设有关系模式R(U,F),U=ABCDE,F={A→C,B→C ,C→D,DE→C,CE→A}。ρ={R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)}是R的一个分解。试判断ρ是否为无损
。
A→C
A BCDE R1(AD) a1 b12 b13 a4 b15 R2(AB) a1 a2 b23 b24 b25 R3(BE) b31 a2 b33 b34 a5 R4(CDE) b41 b42 a3 a4 a5 R5(AE) a1 b52 b53 b54 a5
无损连接分解
【例】设有关系模式R(U,F),U=ABCDE,F={A→C,B→C, C→D,DE→C,CE→A}。ρ={R1(AD),R2(AB) ,R3(BE) , R4(CDE) ,R5(AE)}是R的一个分解。试判断ρ是否为无损分
3NF
模式分解的概念
• 分解的概念
R( {学生学号,学生姓名,所在系,系主任,课程名称,
成绩} {学生学号→学生姓名,学生学号→所在系,所在系→系
主任,(学生学号,课程名称)→成绩}
ρ1={ R1 ({学生学号,课程名称,成绩}, {(学生学号,课程名称) →成绩}) , R3 ({学生学号,学生姓名,所在系}, {学生学号→学生姓名, 学生学号→所在系}) , R4 ({所在系,系主任}, {所在系→系主任})}
• 候选码及其求解方法
模式分解
• 主要内容
– 模式分解的概念
– 分解的无损连接性和保持函数依赖性 – 模式分解算法
模式分解的概念
• 分解的概念
设有一关系模式R(U,F),若用一关系模 式的集合ρ={ R1(U1,F1),R2(U2,F2), …,Rn(Un,Fn) }来取代,其中U=∪Ui,并 且没有Ui⊆Uj,1≤i, j≤n,Fi是F在Ui上的投影 。则关系模式的集合ρ为R的一个分解
ρ={ R1,R2,…,Rn}
模式分解的概念
• 分解的概念
– F在Ui上的投影
Fi ={X→Y | X→Y∈F+∧XY⊆ Ui }
思考:
设有关系模式R(A,B,C,D),F是R上成立的FD集
F={AB→C,D→B },则 F在模式ACD上的投影为________;
F在模式AACD上→的C 投影为_________。
22
理想的分解应该是既具有无损连接性又保持函数依赖,这样的分解是等价分解。
…,R (U ,F ) }。 (4)若R不满足3NF,将R分解为无损且保持函数依赖的3NF。
判断ρ相对于F是否具有无损分解特性。
k
kk
设F是最小函数依赖集。 去除主属性对于候选键的部分和传递函数依赖
检验一个分解是否无损的算法 因为U1⊆ U5、U3⊆ U4,所以去掉U1、U3。
模式分解的概念
• 分解的概念
R( {学生学号,学生姓名,所在系,系主任,课程名称,成 绩} {学生学号→学生姓名,学生学号→所在系,所在系→ 系主任,(学生学号,课程名称)→成绩}
ρ2={R1(学生学号),
R2(学生姓名),
R3(所在系),
R4(系主任),
R5(课程名称),
不具有无损连接性
R6(成绩)}
R3(所在系),
12
n
R2 ({学生学号,学生姓名,所在系}, {学生学号→学生姓名,学生学号→所在系}) ,
R上的分解ρ={ R (U ,F ), R (U ,F ), (2)没有类似X→A∈F,且XA=U的函数依赖。
因为候选键AG U3,则所求分解ρ具有无损连接性并保持函数1依赖,且每1 个子1模式为3NF。2
设ρ={R1(U1),R2(U2)}是R(Ui)的一个i分解,则ρ为无损分解的充分必要条件为 i
Armstrong公理系统
m =πR ⋈πR )⋈ …⋈πR r)是r在 中各关 (r) (r) (r ①R3函({数学依生赖学右号边,属学性生单姓一名化,ρ所在系}, {学生学号1 →学生姓名,学生2学号→所在系}) ,
R5(AE) a1 b52 b53 b54 a5
初始状态 对F的一次扫描
无损连接分解
【例】设有关系模式R(U,F),U=ABCDE,F={A→C,B→C, C→D,DE→C,CE→A}。ρ={R1(AD),R2(AB) ,R3(BE) , R4(CDE) ,R5(AE)}是R的一个分解。试判断ρ是否为无损分解