四章节关系系统及其查询优化.ppt

上传人:豆**** 文档编号:59519950 上传时间:2022-11-10 格式:PPT 页数:62 大小:348KB
返回 下载 相关 举报
四章节关系系统及其查询优化.ppt_第1页
第1页 / 共62页
四章节关系系统及其查询优化.ppt_第2页
第2页 / 共62页
点击查看更多>>
资源描述

《四章节关系系统及其查询优化.ppt》由会员分享,可在线阅读,更多相关《四章节关系系统及其查询优化.ppt(62页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、安财信工学院计算机系四章节关系系统及其查询优化 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望安财信工学院计算机系第四章第四章关系系统及其查询优化关系系统及其查询优化4.1关系系统关系系统4.2关系系统的查询优化关系系统的查询优化4.3小结小结2006年4月12日2安财信工学院计算机系关系系统关系系统能能够够在在一一定定程程度度上上支支持持关关系系模模型型的的数数据据库库管管理理系系统统是关系系统。是关系系统。由于关系模型中并非每一部分都是由于关系模型中并非每一部

2、分都是同等同等重要的重要的并不苛求一个实际的关系系统必须并不苛求一个实际的关系系统必须完全完全支持关系模支持关系模型型。2006年4月12日3安财信工学院计算机系关系系统与关系模型关系系统与关系模型关系数据结构关系数据结构域及域上定义的关系域及域上定义的关系关系操作关系操作并、交、差、广义笛卡尔积、选择、投影、连接、并、交、差、广义笛卡尔积、选择、投影、连接、除等除等关系完整性关系完整性实体完整性、参照完整性、用户自己定义的完整性实体完整性、参照完整性、用户自己定义的完整性2006年4月12日4安财信工学院计算机系关系系统的定义关系系统的定义一个数据库管理系统可定义为关系系统,当且仅一个数据库

3、管理系统可定义为关系系统,当且仅当它至少支持:当它至少支持:1.关系数据库(即关系数据结构)关系数据库(即关系数据结构)系统中只有表这种结构系统中只有表这种结构2.支持选择、投影和(自然)连接运算支持选择、投影和(自然)连接运算对这些运算不要求用户定义任何物理存取路径对这些运算不要求用户定义任何物理存取路径对关系系统的对关系系统的最低最低要求要求2006年4月12日5安财信工学院计算机系关系系统的定义关系系统的定义不支持关系数据结构的系统显然不能称为关系系统不支持关系数据结构的系统显然不能称为关系系统仅仅支支持持关关系系数数据据结结构构,但但没没有有选选择择、投投影影和和连连接接运运算算功能的

4、系统仍不能算作关系系统。功能的系统仍不能算作关系系统。原因:不能提高用户的生产率原因:不能提高用户的生产率支持选择、投影和连接运算,但要求定义物理存取路支持选择、投影和连接运算,但要求定义物理存取路径,这种系统也不能算作真正的关系系统径,这种系统也不能算作真正的关系系统原因:就降低或丧失了数据的物理独立性原因:就降低或丧失了数据的物理独立性选择、投影、连接运算是最有用的运算选择、投影、连接运算是最有用的运算2006年4月12日6安财信工学院计算机系4.1.2关系系统的分类关系系统的分类分类依据:支持关系模型的程度分类依据:支持关系模型的程度分类分类表式系统:支持关系数据结构表式系统:支持关系数

5、据结构(即表即表)(最小最小)关系系统关系系统支持:关系数据结构支持:关系数据结构 选择、投影、连接关系操作选择、投影、连接关系操作关系完备的系统关系完备的系统支持:关系数据结构支持:关系数据结构所有的关系代数操作所有的关系代数操作全关系系统全关系系统支持:关系模型的所有特征支持:关系模型的所有特征特别是特别是:数据结构中域的概念数据结构中域的概念(a)表式系统(b)(最小)关系的(c)关系完备的(d)全关系的2006年4月12日7安财信工学院计算机系关系系统的分类关系系统的分类(续)(续)数据结构数据结构数据操作数据操作完整性完整性表式系统表式系统表表 (最小最小)关系系统关系系统表表选选择

6、择、投投影影、连接连接 关系完备的系统关系完备的系统表表 全关系系统全关系系统 2006年4月12日8安财信工学院计算机系第四章第四章 关系系统及其查询优化关系系统及其查询优化4.1关系系统关系系统4.2关系系统的查询优化关系系统的查询优化4.3小结小结2006年4月12日9安财信工学院计算机系4.2关系系统的查询优化关系系统的查询优化4.2.1查询优化概述查询优化概述4.2.2查询优化的必要性查询优化的必要性4.2.3查询优化的一般准则查询优化的一般准则4.2.4关系代数等价变换规则关系代数等价变换规则4.2.5关系代数表达式的优化算法关系代数表达式的优化算法4.2.6优化的一般步骤优化的一

7、般步骤2006年4月12日10安财信工学院计算机系4.2.1查询优化概述查询优化概述查询优化的必要性查询优化的必要性查询优化极大地影响查询优化极大地影响RDBMS的性能。的性能。查询优化的可能性查询优化的可能性关系数据语言的关系数据语言的级别很高级别很高,使,使DBMS可以可以从关系表达式中分析查询从关系表达式中分析查询语义语义。2006年4月12日11安财信工学院计算机系由由DBMS进行查询优化的好处进行查询优化的好处用用户户不不必必考考虑虑如如何何最最好好地地表表达达查查询询以以获获得得较较好的效率好的效率系统可以比用户程序的系统可以比用户程序的优化优化做得更好做得更好(1)优优化化器器可

8、可以以从从数数据据字字典典中中获获取取许许多多统统计计信信息息,而而用户程序则难以获得这些信息用户程序则难以获得这些信息2006年4月12日12安财信工学院计算机系由由DBMS进行查询优化的好处进行查询优化的好处(2)如如果果数数据据库库的的物物理理统统计计信信息息改改变变了了,系系统统可可以以自自动动对对查查询询重新优化重新优化以选择相适应的执行计划。以选择相适应的执行计划。在在非非关关系系系系统统中中必必须须重重写写程程序序,而而重重写写程程序序在在实实际际应应用用中中往往是不太可能的。往往是不太可能的。(3)优优化化器器可可以以考考虑虑数数百百种种不不同同的的执执行行计计划划,而而程程序

9、序员员一一般般只能考虑有限的几种可能性只能考虑有限的几种可能性。(4)优化器中包括了很多复杂的优化技术优化器中包括了很多复杂的优化技术2006年4月12日13安财信工学院计算机系查询优化目标查询优化目标查询优化的总目标查询优化的总目标选择有效策略,求得给定关系表达式的值选择有效策略,求得给定关系表达式的值实际系统的查询优化步骤实际系统的查询优化步骤1.将查询转换成某种内部表示,通常是语法树将查询转换成某种内部表示,通常是语法树2.根据一定的等价变换规则把语法树转换成标准根据一定的等价变换规则把语法树转换成标准(优化)形式(优化)形式2006年4月12日14安财信工学院计算机系实际系统的查询优化

10、步骤实际系统的查询优化步骤3.选择低层的操作算法选择低层的操作算法对于语法树中的每一个操作对于语法树中的每一个操作计算各种执行算法的执行代价计算各种执行算法的执行代价选择代价小的执行算法选择代价小的执行算法4.生成查询计划生成查询计划(查询执行方案查询执行方案)查询计划是由一系列内部操作组成的。查询计划是由一系列内部操作组成的。2006年4月12日15安财信工学院计算机系代价模型代价模型集中式数据库集中式数据库单用户系统单用户系统总代价总代价=I/O代价代价+CPU代价代价多用户系统多用户系统总代价总代价=I/O代价代价+CPU代价代价+内存代价内存代价分布式数据库分布式数据库总代价总代价=I

11、/O代价代价+CPU代价代价+内存代价内存代价+通信代价通信代价2006年4月12日16安财信工学院计算机系4.2.2查询优化的必要性查询优化的必要性例:求选修了课程例:求选修了课程2的学生姓名的学生姓名SELECTStudent.SnameFROMStudent,SCWHEREStudent.Sno=SC.SnoANDSC.Cno=2;2006年4月12日17安财信工学院计算机系查询优化的必要性(续)查询优化的必要性(续)假设假设1:外存:外存:Student:1000条条,SC:10000条条,选修选修2号课程号课程:50条条假设假设2:一个内存块装元组:一个内存块装元组:10个个Stud

12、ent,或或100个个SC,内存中一次可以存放内存中一次可以存放:5块块Student元组元组,1块块SC元组和若干块连接结果元组元组和若干块连接结果元组假设假设3:读写速度:读写速度:20块块/秒秒假设假设4:连接方法:连接方法:基于数据块基于数据块的嵌套循环法的嵌套循环法2006年4月12日18安财信工学院计算机系执行策略执行策略1 1 name(Student.Sno=SC.SnoSC.Cno=2(StudentSC)StudentSC读取总块数读取总块数=读读Student表块数表块数+读读SC表遍数表遍数*每遍块数每遍块数=1000/10+(1000/(105)(10000/100)

13、=100+20100=2100读数据时间读数据时间=2100/20=105秒秒2006年4月12日19安财信工学院计算机系不同的执行策略不同的执行策略,考虑考虑I/O时间时间中中间间结结果果大大小小=1000*10000=107(1千千万万条条元组元组)写中间结果时间写中间结果时间=10000000/10/20=50000秒秒读数据时间读数据时间=50000秒秒总时间总时间=1055000050000秒秒=100105秒秒=27.8小时小时2006年4月12日20安财信工学院计算机系查询优化的必要性(续)查询优化的必要性(续)2.2name(SC.Cno=2(StudentSC)读取总块数读取

14、总块数=2100块块读数据时间读数据时间=2100/20=105秒秒中间结果大小中间结果大小=10000(减少(减少1000倍)倍)写中间结果时间写中间结果时间=10000/10/20=50秒秒读数据时间读数据时间=50秒秒总时间总时间1055050秒秒205秒秒=3.4分分2006年4月12日21安财信工学院计算机系查询优化的必要性(续)查询优化的必要性(续)3.2Sname(StudentSC.Cno=2(SC)读读SC表总块数表总块数=10000/100=100块块读数据时间读数据时间=100/20=5秒秒中间结果大小中间结果大小=50条条不必写入外存不必写入外存读读Student表总块

15、数表总块数=1000/10=100块块读数据时间读数据时间=100/20=5秒秒总时间总时间55秒秒10秒秒2006年4月12日22安财信工学院计算机系查询优化的必要性(续)查询优化的必要性(续)4.2name(StudentSC.Cno=2(SC)假假设设SC表表在在Cno上上有有索索引引,Student表表在在Sno上上有索引有索引 读读SC表索引表索引=读读SC表总块数表总块数=50/1001块块读数据时间读数据时间中间结果大小中间结果大小=50条条不必写入外存不必写入外存2006年4月12日23安财信工学院计算机系查询优化的必要性(续)查询优化的必要性(续)读读Student表索引表索

16、引=读读Student表总块数表总块数=50/10=5块块读数据时间读数据时间总时间总时间连接运算连接运算例:例:Student.Sno=SC.Sno(StudentSC)StudentSC提取公共子表达式提取公共子表达式2006年4月12日26安财信工学院计算机系4.2.4关系代数等价变换规则关系代数等价变换规则关系代数表达式等价关系代数表达式等价指指用用相相同同的的关关系系代代替替两两个个表表达达式式中中相相应应的的关关系系所所得到的结果是相同的得到的结果是相同的上上面面的的优优化化策策略略大大部部分分都都涉涉及及到到代代数数表表达达式式的的变变换换2006年4月12日27安财信工学院计算

17、机系常用的等价变换规则常用的等价变换规则设设E1、E2等是关系代数表达式,等是关系代数表达式,F是条件表达式是条件表达式l.连接、笛卡尔积交换律连接、笛卡尔积交换律E1E2E2E1E1E2E2E1E1FE2E2FE12006年4月12日28安财信工学院计算机系关系代数等价变换规则(续)关系代数等价变换规则(续)2.连接、笛卡尔积的结合律连接、笛卡尔积的结合律(E1E2)E3E1(E2E3)(E1E2)E3E1(E2E3)(E1E2)E3E1(E2E3)FFFF2006年4月12日29安财信工学院计算机系关系代数等价变换规则(续)关系代数等价变换规则(续)3.投影的串接定律投影的串接定律A1,A

18、2,An(B1,B2,Bm(E)A1,A2,An(E)假设:假设:1)E是关系代数表达式是关系代数表达式2)Ai(i=1,2,n),Bj(j=l,2,m)是属性名是属性名3)A1,A2,An构成构成Bl,B2,Bm的子集的子集2006年4月12日30安财信工学院计算机系关系代数等价变换规则(续)关系代数等价变换规则(续)4.选择的串接定律选择的串接定律F1(F2(E)F1F2(E)选择的串接律说明选择的串接律说明选择条件可以合并选择条件可以合并这样一次就可检查全部条件。这样一次就可检查全部条件。2006年4月12日31安财信工学院计算机系关系代数等价变换规则(续)关系代数等价变换规则(续)5.

19、选择与投影的交换律选择与投影的交换律(1)假设假设:选择条件选择条件F只涉及属性只涉及属性A1,AnF(A1,A2,An(E)A1,A2,An(F(E)(2)假设假设:F中有不属于中有不属于A1,An的属性的属性B1,BmA1,A2,An(F(E)A1,A2,An(F(A1,A2,An,B1,B2,Bm(E)2006年4月12日32安财信工学院计算机系关系代数等价变换规则(续)关系代数等价变换规则(续)6.选择与笛卡尔积的交换律选择与笛卡尔积的交换律(1)假设:假设:F中涉及的属性都是中涉及的属性都是E1中的属性中的属性F(E1E2)F(E1)E2(2)假设:假设:F=F1F2,并且,并且F1

20、只涉及只涉及E1中的属性,中的属性,F2只涉及只涉及E2中的属性中的属性则由上面的等价变换规则则由上面的等价变换规则1,4,6可推出:可推出:F(E1E2)F1(E1)F2(E2)2006年4月12日33安财信工学院计算机系关系代数等价变换规则(续)关系代数等价变换规则(续)(3)假设:假设:F=F1F2,F1只涉及只涉及E1中的属性,中的属性,F2涉及涉及E1和和E2两者的属性两者的属性F(E1E2)F2(F1(E1)E2)它使部分选择在笛卡尔积前先做它使部分选择在笛卡尔积前先做2006年4月12日34安财信工学院计算机系关系代数等价变换规则(续)关系代数等价变换规则(续)7.选择与并的交换

21、选择与并的交换假设:假设:E=E1E2,E1,E2有相同的属性名有相同的属性名F(E1E2)F(E1)F(E2)8.选择与差运算的交换选择与差运算的交换假设:假设:E1与与E2有相同的属性名有相同的属性名F(E1-E2)F(E1)-F(E2)2006年4月12日35安财信工学院计算机系关系代数等价变换规则(续)关系代数等价变换规则(续)9.投影与笛卡尔积的交换投影与笛卡尔积的交换假设:假设:E1和和E2是两个关系表达式,是两个关系表达式,A1,An是是E1的属性,的属性,B1,Bm是是E2的属性的属性A1,A2,An,B1,B2,Bm(E1E2)A1,A2,An(E1)B1,B2,Bm(E2)

22、2006年4月12日36安财信工学院计算机系关系代数等价变换规则(续)关系代数等价变换规则(续)l0.投影与并的交换投影与并的交换假设:假设:E1和和E2有相同的属性名有相同的属性名 A1,A2,An(E1E2)A1,A2,An(E1)A1,A2,An(E2)2006年4月12日37安财信工学院计算机系小结小结1-2:连接、笛卡尔积连接、笛卡尔积的交换律、结合律的交换律、结合律3:合并或分解合并或分解投影投影运算运算4:合并或分解合并或分解选择选择运算运算5-8:选择运算与其他运算交换选择运算与其他运算交换5,9,10:投影运算与其他运算交换投影运算与其他运算交换2006年4月12日38安财信

23、工学院计算机系4.2关系系统的查询优化关系系统的查询优化4.2.1查询优化概述查询优化概述4.2.2查询优化的必要性查询优化的必要性4.2.3查询优化的一般准则查询优化的一般准则4.2.4关系代数等价变换规则关系代数等价变换规则4.2.5关系代数表达式的优化算法关系代数表达式的优化算法4.2.6优化的一般步骤优化的一般步骤2006年4月12日39安财信工学院计算机系4.2.5关系代数表达式的优化算法关系代数表达式的优化算法算法:关系表达式的优化算法:关系表达式的优化输入:一个关系表达式的语法树。输入:一个关系表达式的语法树。输出:计算该表达式的程序。输出:计算该表达式的程序。方法:方法:(1)

24、分解选择运算)分解选择运算利用规则利用规则4把形如把形如F1F2Fn(E)变换为变换为F1(F2(Fn(E)2006年4月12日40安财信工学院计算机系关系代数表达式的优化算法关系代数表达式的优化算法(续续)(2)通过交换选择运算,将其尽可能移到叶端)通过交换选择运算,将其尽可能移到叶端对对每每一一个个选选择择,利利用用规规则则48尽尽可可能能把把它它移移到到树树的的叶端。叶端。(3)通过交换投影运算,将其尽可能移到叶端)通过交换投影运算,将其尽可能移到叶端对对每每一一个个投投影影利利用用规规则则3,9,l0,5中中的的一一般般形形式式尽尽可能把它移向树的叶端。可能把它移向树的叶端。2006年

25、4月12日41安财信工学院计算机系关系代数表达式的优化算法关系代数表达式的优化算法(续续)(4)合合并并串串接接的的选选择择和和投投影影,以以便便能能同同时时执执行行或或在在一次扫描中完成一次扫描中完成利利用用规规则则35把把选选择择和和投投影影的的串串接接合合并并成成单单个个选选择、单个投影或一个选择后跟一个投影。择、单个投影或一个选择后跟一个投影。使使多多个个选选择择或或投投影影能能同同时时执执行行,或或在在一一次次扫扫描描中中全部完成全部完成尽尽管管这这种种变变换换似似乎乎违违背背“投投影影尽尽可可能能早早做做”的的原原则,但这样做效率更高。则,但这样做效率更高。2006年4月12日42

26、安财信工学院计算机系关系代数表达式的优化算法关系代数表达式的优化算法(续续)(5)对内结点分组)对内结点分组把上述得到的语法树的内节点分组。把上述得到的语法树的内节点分组。每每一一双双目目运运算算(,-)和和它它所所有有的的直直接祖先为一组接祖先为一组(这些直接祖先是这些直接祖先是,运算运算)。如如果果其其后后代代直直到到叶叶子子全全是是单单目目运运算算,则则也也将将它它们们并并入入该该组组,但但当当双双目目运运算算是是笛笛卡卡尔尔积积(),而而且且其其后后的的选选择择不不能能与与它它结结合合为为等等值值连接时除外。把这些单目运算单独分为一组连接时除外。把这些单目运算单独分为一组。2006年4

27、月12日43安财信工学院计算机系关系代数表达式的优化算法关系代数表达式的优化算法(续续)(6)生成程序)生成程序生成一个程序,每组结点的计算是程序中的一步。生成一个程序,每组结点的计算是程序中的一步。各各步步的的顺顺序序是是任任意意的的,只只要要保保证证任任何何一一组组的的计计算算不会在它的后代组之前计算不会在它的后代组之前计算。2006年4月12日44安财信工学院计算机系4.2关系系统的查询优化关系系统的查询优化4.2.1查询优化概述查询优化概述4.2.2查询优化的必要性查询优化的必要性4.2.3查询优化的一般准则查询优化的一般准则4.2.4关系代数等价变换规则关系代数等价变换规则4.2.5

28、关系代数表达式的优化算法关系代数表达式的优化算法4.2.6优化的一般步骤优化的一般步骤2006年4月12日45安财信工学院计算机系4.2.6优化的一般步骤优化的一般步骤1把查询转换成某种内部表示把查询转换成某种内部表示2代数优化:把语法树转换成标准(优化)代数优化:把语法树转换成标准(优化)形式形式3物理优化:选择低层的存取路径物理优化:选择低层的存取路径4生成查询计划,选择代价最小的生成查询计划,选择代价最小的2006年4月12日46安财信工学院计算机系优化的一般步骤优化的一般步骤(续续)(1)把查询转换成某种内部表示)把查询转换成某种内部表示例:求选修了课程例:求选修了课程2的学生姓名的学

29、生姓名SELECTStudent.SnameFROMStudent,SCWHEREStudent.Sno=SC.SnoANDSC.Cno=2;2006年4月12日47安财信工学院计算机系(1)把查询转换成某种内部表示)把查询转换成某种内部表示语法树语法树结果结果project(Sname)select(SC.Cno=2)join(Student.Sno=SC.Sno)StudentSC2006年4月12日48安财信工学院计算机系关系代数语法树关系代数语法树Sname SC.Cno=2 Student.Sno=SC.S StudentSC2006年4月12日49安财信工学院计算机系(2)代数优化

30、)代数优化利用优化算法把语法树转换成标准(优化)形式利用优化算法把语法树转换成标准(优化)形式Sname Student.Sno=SC.Sno SC.Cno=2 StudentSC2006年4月12日50安财信工学院计算机系(3)物理优化:选择低层的存取路径)物理优化:选择低层的存取路径-优化器查找数据字典获得当前数据库状态信息优化器查找数据字典获得当前数据库状态信息选择字段上是否有索引选择字段上是否有索引连接的两个表是否有序连接的两个表是否有序连接字段上是否有索引连接字段上是否有索引然后根据一定的优化规则选择存取路径然后根据一定的优化规则选择存取路径如如本本例例中中若若SC表表上上建建有有C

31、no的的索索引引,则则应应该该利利用用这这个索引,而不必顺序扫描个索引,而不必顺序扫描SC表。表。2006年4月12日51安财信工学院计算机系(4)生成查询计划,选择代价最小的)生成查询计划,选择代价最小的在在作作连连接接运运算算时时,若若两两个个表表(设设为为R1,R2)均均无无序序,连连接属性上也没有索引,则可以有下面几种查询计划接属性上也没有索引,则可以有下面几种查询计划:对两个表作排序预处理对两个表作排序预处理对对R1在连接属性上建索引在连接属性上建索引对对R2在连接属性上建索引在连接属性上建索引在在R1,R2的连接属性上均建索引的连接属性上均建索引对不同的查询计划计算代价,选择代价最

32、小的一个。对不同的查询计划计算代价,选择代价最小的一个。在在计计算算代代价价时时主主要要考考虑虑磁磁盘盘读读写写的的I/O数数,内内存存CPU处处理时间在粗略计算时可不考虑。理时间在粗略计算时可不考虑。2006年4月12日52安财信工学院计算机系第四章第四章关系系统及其查询优化关系系统及其查询优化4.1关系系统关系系统4.2关系系统的查询优化关系系统的查询优化4.3小结小结2006年4月12日53安财信工学院计算机系4.3小结小结关系系统关系系统关系系统的定义关系系统的定义一一个个数数据据库库管管理理系系统统可可定定义义为为关关系系系系统统,当当且且仅仅当当它至少支持:它至少支持:1关系数据库

33、(即关系数据结构)关系数据库(即关系数据结构)2支持选择、投影和(自然)连接运算,支持选择、投影和(自然)连接运算,且不要求用户定义任何物理存取路径且不要求用户定义任何物理存取路径2006年4月12日54安财信工学院计算机系小结小结关系系统的定义:关系系统的定义:一个系统可定义为关系系统,当且仅当它支持:1关系数据库。即从用户观点看,数据库是由表构成的,并且只有表这种结构。2支持选择、投影和(自然)连接运算。对这些运算不必要求定义任何物理存取路径。关系系统分类关系系统分类(a)表式系统(b)(最小)关系的(c)关系完备的(d)全关系的2006年4月12日55安财信工学院计算机系小结小结(续)(

34、续)关系系统的查询优化关系系统的查询优化代数优化:关系代数表达式的优化代数优化:关系代数表达式的优化关系代数等价变换规则关系代数等价变换规则关系代数表达式的优化算法关系代数表达式的优化算法物理优化:存取路径和低层操作算法的选择物理优化:存取路径和低层操作算法的选择2006年4月12日56安财信工学院计算机系查询优化的总目标是:查询优化的总目标是:选择有效的策略。求得给定的关系表达式选择有效的策略。求得给定的关系表达式 的值的值优化的一般策略:优化的一般策略:1选择运算应尽可能先做。2在执行连接前对文件适当地预处理,预处理方法主要又两种,对文件排序和在连接属性上建立索引。3把投影运算和选择运算同

35、时进行。4把投影同其前或后的双目运算结合起来。5把某些选择同在它前面要执行的笛卡儿积结合起来成为一个连接字段。6找出公共子表达式。2006年4月12日57安财信工学院计算机系关系代数等价变换规则:关系代数等价变换规则:两个关系表达式E1和E2是等价的,可记为E1E21连接、笛卡儿积的交换律连接、笛卡儿积的交换律设E1和E2是关系代数表达式,F是连接运算的条件,则有:E1E2E2E1E1E2E2E1E1E2E2E1FF2连接、笛卡儿积的结合律连接、笛卡儿积的结合律设E1,E2,E3是关系表达式,F1和F2是连接运算的条件,则有:(E1E2)E3E1(E2E3)(E1E2)E3(E1E2)E3(E

36、1E2)E3E1(E1E2)3投影的串接定律投影的串接定律A1,A2,An(B1,B2,Bm(E)A1,A2,An(E)这里,E是关系代数表达式,Ai(i=1,2,n),Bj(j=1,2,m)是2006年4月12日58安财信工学院计算机系属性名且A1,A2,An构成B1,B2,Bm的子集.4选择的串接定律选择的串接定律F1(F2(E)F1F2(E)这里,E是关系代数表达式,F1,F2是选择的条件。选择的串接律说明条件可以合并。这样一次就可以检查全部条件。5选择和投影的交换律选择和投影的交换律F(A1,A2,An(E)A1,A2,An(F(E)这里,选择条件F只涉及属性A1,A2,An。若F中有

37、不属于属性B1,B2,Bm则有更一般的规则A1,A2,An(F(E)A1,A2,An(F(A1,A2,An,B1,B2,Bm(E)6选择与笛卡儿积的交换律选择与笛卡儿积的交换律如果F中涉及的属性都是E1中的属性,则F(E1E2)F(E1)E2如果F=F1F2,并且F1只涉及E1中的属性,F2只涉及E2中的属性,则由上面的1,4,6可推出:F(E1E2)F1(E1)F2(E2)2006年4月12日59安财信工学院计算机系若F1只涉及E1中的属性,F2涉及E1和E2两者的属性,则仍有:F(E1E2)F2(F1(E1)E2)它使部分选择在笛卡儿积前先做。7选择与并的交换选择与并的交换设E=E1E2,

38、E1、E2有相同的属性名,则F(E1E2)F(E1)F(E2)8选择与差运算的交换选择与差运算的交换若E1,E2有相同的属性名,则F(E1E2)F(E1)F(E2)9投影与笛卡儿积的交换投影与笛卡儿积的交换设E1和E2是两个关系表达式,A1,A2,An是E1的属性,B1,B2,Bm是E2的属性,则A1,A2,An,B1,B2,Bm(E1E2)A1,A2,An(E1)B1,B2,Bm(E2)10投影与并的交换投影与并的交换设E1,E2有相同的属性名,则A1,A2,An(E1E2)A1,A2,An(E1)A1,A2,An(E2)2006年4月12日60安财信工学院计算机系关系代数表达式的优化算法关

39、系代数表达式的优化算法算法:关系表达式的优化。算法:关系表达式的优化。输入:一个关系表达式的语法树。输入:一个关系表达式的语法树。输出:计算该表达式的程序。输出:计算该表达式的程序。方法:方法:1利用规则(4)把形如F1F2Fn(E)变换为F1(F2(Fn(E)2对每一个选择使用规则(4)(8)尽可能把它移到树的叶端。3对每一个投影利用法则(3),(9),(10),(5)中的一般形式尽可能把它移向树的叶端。注意,法则(3)使一些投影消失,而一般形式的规则(5)把一个投影分裂为两个,其中一个有可能被移向树的叶端。4利用法则(3)(5)把选择和投影的串接合并成单个选择,单个投影或一个选择后跟一个投影,使多个选择或投影能同时执行,或在一次扫描中全部完成,尽管这种变换似乎违背投影尽可能早做的原则,但这样做效率更高。2006年4月12日61安财信工学院计算机系5把上述得到的语法树的内结点分组。每一双目运算(,)和它所有的直接祖先为一组(这些直接祖先是,运算)。如果其后代直到叶子全是单目运算法则也将它们并入该组,但当双目运算是笛卡儿积(),而且其后的选择不能与它结合为等值连接体时除外。把这些单目运算单独分为一组。6生成一个程序,每组结点的计算时程序中的一步。各步的顺序是任意的,只要保证任何一组的计算不会在它的后代组之前计算。2006年4月12日62

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁