当前位置:文档之家› 第13讲模式分解 PPT

第13讲模式分解 PPT


大家学习辛苦了,还是要坚持
继续保持安静
模式分解的概念
• 分解的概念
【【例 例】】RR((编 学号 生, 学连号队,,学连生长姓,名科,目所,在成系绩,系),主F任={,编课号 →程名连队称,连成队绩→} 连,长F=,{学(编生号学,号科→目学)生→姓成名绩,}学生学 号→所在系,所在系→系主任,(学生学号,课程名 称)→成绩}
ρ={ R1,R2,…,Rn}
模式分解的概念
• 分解的概念
– F在Ui上的投影
Fi ={X→Y | X→Y∈F+∧XY⊆ Ui }
Hale Waihona Puke 思考:设有关系模式R(A,B,C,D),F是R上成立 的FD集F={AB→C,D→B },则 F在模式ACD上的投 影为__A__D_→__C_;F在模式AC上的投影为____空_____。
U=∪Ui,并且没有Ui⊆Uj,1≤i, j≤n
Fi是F在Ui上的投影不存在非平凡的函数依赖。
模式分解的概念
• 分解的概念
R( {学生学号,学生姓名,所在系,系主任,课程名称, 成绩} {学生学号→学生姓名,学生学号→所在系,所在 系→系主任,(学生学号,课程名称)→成绩}
ρ3={ R1 ({学生学号,课程名称,成绩}, {(学生学号,课程)
模式分解的概念
• 分解的概念
R( {学生学号,学生姓名,所在系,系主任,课程名 称,成绩} {学生学号→学生姓名,学生学号→所在系, 所在系→系主任,(学生学号,课程名称)→成绩}
ρ2={R1(学生学号),
R2(学生姓名),
R3(所在系),
R4(系主任),
不具有无损连接性
R5(课程名称),
R6(成绩)}
– 若对R<U,F>的任何一个关系r均有r= mρ(r)成 立,则称分解ρ具有无损连接性。
分解ρ是无损分解
无损连接分解
• 算法:检验一个分解是否是无损分解
– 输入: 关系模式R(U,F), U={A1,A2 ,…,An}; R上的分解ρ={ R1(U1,F1), R2(U2,F2), …,Rk(Uk,Fk) }。 设F是最小函数依赖集。
→成绩}) , R2 ({学生学号,学生姓名,所在系}, {学生学号→学生姓
名,学生学号→所在系}) , R3 ({学生学号,系主任}, {学生学号→系主任}) } 没有保持函数依赖 U=∪Ui,并且没有Ui⊆Uj,1≤i, j≤n Fi是F在Ui上的投影。
模式分解的概念
• 分解的概念
– 一个关系模式的分解并不是唯一的。 – 理想的分解应该是既具有无损连接性又保持
– 输出: 判断ρ相对于F是否具有无损分解特性。
无损连接分解
• 检验一个分解是否无损的算法
– 步骤
1)建立一张k行n列的表, 每行对应分解中的一个关 系模式Ri,每列对应一个 属性Aj,若属性Aj∈Ui, 则在i行j列处填aj,否则 填bij。
A1∈U1
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的一个分解。试判 断ρ是否为无损分解。
• 候选码及其求解方法
模式分解
• 主要内容
– 模式分解的概念 – 分解的无损连接性和保持函数依赖性 – 模式分解算法
模式分解的概念
• 分解的概念
设有一关系模式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(U1,F1),…,Rk(Uk,Fk)}是R( U,F)的一个分解,r是R(U,F)的一个关系, 则 πRi (r)={t.Ui|t∈r}为r在子模式Ri上的投影, mρ(r)=πR1(r)⋈πR2(r)⋈ …⋈πRn(r)是r在ρ中 各关系模式上投影的连接。
模式分解的概念
• 分解的概念
R(学生学号,学生姓名,所在系,系主任,课程名称,成绩 )
1NF
去除非主属性对于键的部分函数依赖
R1(学生学号,课程名称,成绩) R2(学生学号,学生姓名, 所在系,系主任)
2NF
去除非主属性对于键的传递函数依赖
R1(学生学号,课程名称,成绩) R3(学生学号,学生姓名, 所在系) R4(所在系,系主任)
1)建立一张k行n列的表, 每行对应分解中的一个关 系模式Ri,每列对应一个 属性Aj,若属性Aj∈Ui, 则在i行j列处填aj,否则 填bij。
第13讲模式分解
关系模式的规范化设计
• 所要解决的问题
– 什么是“好”的关系数据模式 – 如何评价一个好的关系数据模式 – 如何设计一个“好”的关系数据模式
关系模式的规范化设计
• 主要内容
– 关系模式的设计问题 – 关系模式规范化的基本概念和理论 – 关系模式分解的理论基础和算法
回顾
1NF
消除
3NF
模式分解的概念
• 分解的概念
R( {学生学号,学生姓名,所在系,系主任,课程 名称,成绩} {学生学号→学生姓名,学生学号→所 在系,所在系→系主任,(学生学号,课程名称) →成绩}
ρ1={ R1 ({学生学号,课程名称,成绩}, {(学生学号,课程 名称)→成绩}) , R3 ({学生学号,学生姓名,所在系}, {学生学号→学生 姓名,学生学号→所在系}) , R4 ({所在系,系主任}, {所在系→系主任})}
决定
因素
2NF
非码
的非
平凡 函数
3NF
依赖
---- BCNF
4NF
去除非主属性对于候选键的部分函数依赖 去除非主属性对于候选键的传递函数依赖 去除主属性对于候选键的部分和传递函数依赖 去除不被候选键所蕴涵的非平凡的多值依赖
回顾
• Armstrong公理系统
– 逻辑蕴涵 – Armstrong公理系统推理规则 – FD的逻辑蕴涵 – 函数依赖集F 的闭包F+ – 属性集闭包 – 函数依赖集等价和最小函数依赖集
相关主题