第13讲模式分解ppt课件.ppt
《第13讲模式分解ppt课件.ppt》由会员分享,可在线阅读,更多相关《第13讲模式分解ppt课件.ppt(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章 关系模式的规范化设计模式分解模式分解第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2关系模式的规范化设计关系模式的规范化设计 所要解决的问题什么是什么是“好好”的关系数据模式的关系数据模式如何评价一个好的关系数据模式如何评价一个好的关系数据模式如何设计一个如何设计一个“好好”的关系数据模式的关系数据模式第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物3
2、关系模式的规范化设计关系模式的规范化设计 主要内容关系模式的设计问题关系模式的设计问题关系模式规范化的基本概念和理论关系模式规范化的基本概念和理论关系模式分解的理论基础和算法关系模式分解的理论基础和算法第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物4回顾回顾1NF2NF3NFBCNF去除非主属性对于候选键的部分函数依赖去除非主属性对于候选键的部分函数依赖去除非主属性对于去除非主属性对于候选候选键的传递函数依赖键的传递函数依赖去除主属性对于去除主属性对于候选候选键的部分和传递函
3、数依赖键的部分和传递函数依赖去除不被候选键所蕴涵的非平凡的多值依赖去除不被候选键所蕴涵的非平凡的多值依赖4NF消除消除决定决定因素因素非码非码的非的非平凡平凡函数函数依赖依赖第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物5Armstrong公理系统 逻辑蕴涵逻辑蕴涵 Armstrong公理系统推理规则公理系统推理规则 FD的逻辑蕴涵的逻辑蕴涵 函数依赖集函数依赖集F 的闭包的闭包F+ 属性集闭包属性集闭包 函数依赖集等价和最小函数依赖集函数依赖集等价和最小函数依赖集 候选码及
4、其求解方法候选码及其求解方法 回顾回顾 第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物6主要内容 模式分解的概念模式分解的概念 分解的无损连接性和保持函数依赖性分解的无损连接性和保持函数依赖性 模式分解算法模式分解算法 模式分解模式分解第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物7分解的概念 设有一关系模式设有一关系模式R(U,F),若用一关系),若用一关
5、系模式的集合模式的集合= R1(U1,F1),),R2(U2,F2),Rn(Un,Fn) 来取代,其中来取代,其中U=Ui,并且没有并且没有UiUj,1i, jn,Fi是是F在在Ui上的上的投投影影。则关系模式的集合。则关系模式的集合为为R的一个分解的一个分解 = R1,R2,Rn模式分解的概念模式分解的概念第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物8分解的概念 F在在Ui上的投影上的投影 Fi =XY | XYF+XY Ui 模式分解的概念模式分解的概念思考:思考: 设
6、有关系模式设有关系模式R(A,B,C,D),),F是是R上成立上成立的的FD集集F=ABC,DB ,则,则 F在模式在模式ACD上的投上的投影为影为_;F在模式在模式AC上的投影为上的投影为_。 ADC 空空第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物9分解的概念 模式分解的概念模式分解的概念【例】R(编号,连队,连长,科目,成绩), F= 编号连队,连队连长,(编号,科目)成绩 【例】R(学生学号,学生姓名,所在系,系主任,课程名称,成绩 , F=学生学号学生姓名,学生学
7、号所在系,所在系系主任,(学生学号,课程名称)成绩第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物10分解的概念 模式分解的概念模式分解的概念1NF2NF3NF去除非主属性对于键的部分函数依赖去除非主属性对于键的部分函数依赖去除非主属性对于键的传递函数依赖去除非主属性对于键的传递函数依赖R R(学生学号学生学号,学生姓名,所在系,系主任,学生姓名,所在系,系主任,课程名称课程名称,成绩,成绩 ) R1(学生学号学生学号,课程名称课程名称,成绩) R2(学生学号学生学号,学生姓名
8、,学生姓名, 所在系,系主任所在系,系主任)R1(学生学号学生学号,课程名称课程名称,成绩) R3(学生学号学生学号,学生姓名,学生姓名, 所在系所在系)R4(所在系所在系,系主任,系主任)第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物11分解的概念 模式分解的概念模式分解的概念R( 学生学号学生学号,学生姓名,所在系,系主任,学生姓名,所在系,系主任,课程课程名称名称,成绩,成绩 学生学号学生学号学生姓名,学生学号学生姓名,学生学号所所在系,所在系在系,所在系系主任,(学生
9、学号,课程名称)系主任,(学生学号,课程名称)成绩成绩 1= R1 (学生学号,课程名称学生学号,课程名称,成绩,成绩, (学生学号,课程(学生学号,课程名称)名称)成绩成绩) , R3 (学生学号学生学号,学生姓名,所在系,学生姓名,所在系, 学生学号学生学号学生学生姓名,学生学号姓名,学生学号所在系所在系) , R4 (所在系所在系,系主任,系主任, 所在系所在系系主任系主任)第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物12分解的概念 模式分解的概念模式分解的概念R(
10、学生学号学生学号,学生姓名,所在系,系主任,学生姓名,所在系,系主任,课程名课程名称称,成绩,成绩 学生学号学生学号学生姓名,学生学号学生姓名,学生学号所在系,所在系,所在系所在系系主任,(学生学号,课程名称)系主任,(学生学号,课程名称)成绩成绩 2=R1(学生学号)(学生学号), R2(学生姓名)(学生姓名), R3(所在系)(所在系), R4(系主任)(系主任), R5(课程名称)(课程名称), R6(成绩)(成绩) U=Ui,并且没有,并且没有UiUj,1i, jn Fi是是F在在Ui上的投影不存在非平凡的函数依赖。上的投影不存在非平凡的函数依赖。不具有无损连接性不具有无损连接性第第1
11、3讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物13分解的概念 模式分解的概念模式分解的概念R( 学生学号学生学号,学生姓名,所在系,系主任,学生姓名,所在系,系主任,课程名称课程名称,成绩成绩 学生学号学生学号学生姓名,学生学号学生姓名,学生学号所在系,所在所在系,所在系系系主任,(学生学号,课程名称)系主任,(学生学号,课程名称)成绩成绩 3= R1 (学生学号,课程名称学生学号,课程名称,成绩,成绩, (学生学号,课程)(学生学号,课程)成绩成绩) , R2 (学生学号学生学号
12、,学生姓名,所在系,学生姓名,所在系, 学生学号学生学号学生姓学生姓名,学生学号名,学生学号所在系所在系) , R3 (学生学号学生学号,系主任,系主任, 学生学号学生学号系主任系主任) U=Ui,并且没有,并且没有UiUj,1i, jn Fi是是F在在Ui上的投影。上的投影。没有保持函数依赖没有保持函数依赖第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物14分解的概念 一个关系模式的分解并不是唯一的。一个关系模式的分解并不是唯一的。 理想的分解应该是既具有无损连接性又保持理想
13、的分解应该是既具有无损连接性又保持函数依赖,这样的分解是等价分解。函数依赖,这样的分解是等价分解。 等价分解等价分解分解具有无损连接性,即数据等价分解具有无损连接性,即数据等价分解保持函数依赖,即语义等价分解保持函数依赖,即语义等价分解既具有无损连接性又保持函数依赖,即数据分解既具有无损连接性又保持函数依赖,即数据等价并且语义等价等价并且语义等价模式分解的概念模式分解的概念第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物15无损连接分解无损连接分解 无损连接分解 设设= R1(
14、U1,F1),),Rk(Uk,Fk)是是R(U,F)的一个分解,)的一个分解,r是是R(U,F)的一个关系,)的一个关系,则则 Ri ( (r) )=t.Ui|tr为为r在子模式在子模式Ri上的投影,上的投影, m( (r) )=R1( (r) ) R2( (r) ) Rk( (r) )是是r在在中各关系模式上投影的连接。中各关系模式上投影的连接。 若对若对R的任何一个关系的任何一个关系r均有均有r= m( (r) )成成立,则称立,则称分解分解具有无损连接性具有无损连接性。分解是无损分解第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢
15、?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物16 算法:检验一个分解是否是无损分解 输入:输入: 关系模式关系模式R(U,F),), U=A1,A2 ,An; R上的分解上的分解= R1(U1,F1), R2(U2,F2), ,Rk(Uk,Fk) 。 设设F是最小函数依赖集。是最小函数依赖集。 输出:输出: 判断判断相对于相对于F是否具有无损分解特性。是否具有无损分解特性。无损连接分解无损连接分解第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物17无损连接分解无
16、损连接分解 检验一个分解是否无损的算法 步骤步骤A1AnR1(U1,F1) a1 :Rk(Uk,Fk)bkn1 1)建立一张建立一张k行行n列的表,列的表,每行对应分解中的一个关每行对应分解中的一个关系模式系模式Ri,每列对应一个,每列对应一个属性属性Aj,若属性,若属性AjUi,则在则在i行行j列处填列处填aj,否则,否则填填bij。A1U1An Uk第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物18无损连接分解无损连接分解【例】设有关系模式R(U,F),U=ABCDE,F
17、=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。ABCDER1(AD)a1b12b13a4b15R2(AB)a1a2b23b24b25R3(BE)b31a2b33b34a5R4(CDE)b41b42a3a4a5R5(AE)a1b52b53b54a5初始状态1 1)建立一张建立一张k行行n列的表,列的表,每行对应分解中的一个关每行对应分解中的一个关系模式系模式Ri,每列对应一个,每列对应一个属性属性Aj,若属性,若属性AjUi,则在则在i行行j列处填列处填aj,否则,否则填填bij。第第13讲
18、讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物19无损连接分解无损连接分解【例】设有关系模式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。ABCDER1(AD)a1b12b13a4b15R2(AB)a1a2b23b24b25R3(BE)b31a2b33b34a5R4(CDE)b41b42a3a4a5R5(AE)a1b52b53b54a5初始状态2 2
19、)把表格看成模式)把表格看成模式R R的一个关系,反复检的一个关系,反复检查查F F中的每个函数依赖中的每个函数依赖在表格中是成立,若在表格中是成立,若不成立,则修改表格不成立,则修改表格中的值。中的值。第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物20无损连接分解无损连接分解【例】设有关系模式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。
20、ABCDER1(AD)a1b12 b13 a4b15R2(AB)a1a2b23 b24 b25R3(BE)b31a2b33 b34 a5R4(CDE)b41b42 a3a4a5R5(AE)a1b52 b53 b54 a5初始状态2 2)对每一形如对每一形如XY 的的FD做如下做如下操作:操作: 检查检查X中的属性所对应的列,找中的属性所对应的列,找出出X相等的行,将这些行中对应的相等的行,将这些行中对应的Y中的属性列所对应的符号改为一中的属性列所对应的符号改为一致。致。即若其中之一为即若其中之一为aj,则都改成,则都改成aj;否则,否则,将其都改成这些列中行将其都改成这些列中行号最小的符号号最
21、小的符号bij。对F的一次扫描第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物21无损连接分解无损连接分解【例】设有关系模式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。ABCDER1(AD)a1b12b13a4b15R2(AB)a1a2b23b24b25R3(BE)b31a2b33b34a5R4(CDE)b41b42a3a4a5R5(AE)
22、a1b52b53b54a5AC第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物22无损连接分解无损连接分解【例】设有关系模式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。ABCDER1(AD)a1b12b13a4b15R2(AB)a1a2b13b24b25R3(BE)b31a2b33b34a5R4(CDE)b41b42a3a4a5R5(AE)
23、a1b52b13b54a5AC第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物23无损连接分解无损连接分解【例】设有关系模式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。ABCDER1(AD)a1b12b13a4b15R2(AB)a1a2b13b24b25R3(BE)b31a2b33b34a5R4(CDE)b41b42a3a4a5R5(AE)
24、a1b52b13b54a5ACBC第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物24无损连接分解无损连接分解【例】设有关系模式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。ABCDER1(AD)a1b12b13a4b15R2(AB)a1a2b13b24b25R3(BE)b31a2b13b34a5R4(CDE)b41b42a3a4a5R5(A
25、E)a1b52b13b54a5ACBC第第13讲讲 模式分解模式分解我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物25无损连接分解无损连接分解【例】设有关系模式R(U,F),U=ABCDE,F=AC,BC,CD,DEC,CEA。=R1(AD),R2(AB) ,R3(BE) ,R4(CDE) ,R5(AE)是R的一个分解。试判断是否为无损分解。ABCDER1(AD)a1b12b13a4b15R2(AB)a1a2b13b24b25R3(BE)b31a2b13b34a5R4(CDE)b41b42a3a4a5R5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 13 模式 分解 ppt 课件
限制150内