资源描述:
《【数据库系统概论】关系系统及其查询优化.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课间休息注意时间第四章关系系统及其查询优化4.1关系系统关系模型的三个基本要素:★ 数据结构:★ 关系操作:★ 数据完整性:关系系统和关系模型是两个密切相关而又不同的概念.支持关系模型的系统称为关系系统.4.1.1关系系统的定义一、关系系统的定义一个系统可定义为关系系统,当且仅当它支持:1.关系数据库。2.支持选择、投影和(自然)连接运算。对这些运算不必要求定义任何物理存取路径。二、对关系系统的定义的几点解释4.1.2关系系统的分类1.表式系统2.(最小)关系系统3.关系上完备的系统4.全关系系统4.1.3全关系系统的十二条基本准则准则0:一
2、个关系型的DBMS必须能完全通过它的关系能力来管理数据库.准则1:信息准则.准则2:保证访问准则.准则3:空值的系统化处理.准则4:基于关系模型的动态的联机数据字典.准则5:统一的数据子语言准则.准则6:视图更新准则.准则7:高级的插入、修改和删除操作.准则8:数据物理独立性.准则9:数据逻辑独立性.准则10:数据完整性的独立性.准则11:分布独立性.准则12:无破坏准则.4.2关系数据库系统的查询优化4.2.1关系系统及其查询优化1、查询优化的优点不仅在于用户不必考虑如何最好地表达查询以获得较好的效率,而且在于系统可以比用户程序的“优化”做
3、得更好.查询优化的总目标是:选择有效的策略,求得给定的关系表达式的值.2.实际系统对查询优化的步骤4.2.2一个实例例:求选修了课程C2的学生姓名,用SQL语言表达为:SELECTStudent.SnameFROMStudent,SCWHEREStudent.Sno=SC.SnoANDSC.Cno=‘2’;假定学生——课程数据库中有1000个学生记录,10000个选课记录,其中选修C2课程的选课记录为50个.系统可以用多种等价的关系代数表达式来完成这一查询Q1=πSname(σStudent.Sno=SC.Sno∧SC.Cno=’2’(Stu
4、dent×SC))Q2=πSname(σSC.Cno=’2’(Student∞SC))Q3=πSname(Student∞σSC.Cno=’2’(SC))分析这三种情况,得出查询执行的策略不同,查询时间的差异有多大.第1种情况需约:100000秒(27.7778小时).第2种情况需约:205秒(3.416分钟).第3种情况需约:10秒.从上述的分析可以充分说明查询优化的必要性.4.2.3优化的一般策略1.选择运算应尽可能先做.2.在执行连接前对文件适当地预处理.3.把投影运算和选择运算同时进行.4.把投影和其前或后的双目运算结合起来.5.把某
5、些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算.6.找出公共子表达式.4.2.4关系代数等价变换规则两个关系表达式E1和E2是等价的,可记为:E1≡E2常用的等价变换规则有:1.连接、笛卡尔积的交换律设E1和E2是关系代数表达式,F是连接运算的条件,则有:E1×E2≡E2×E1E1∞E2≡E2∞E1E1∞E2≡E2∞E1FF2.连接、笛卡尔积的结合律设E1、E2和E3是关系代数表达式,F1和F2是连接运算的条件,则有:(E1×E2)×E3≡E1×(E2×E3)(E1∞E2)∞E3≡E1∞(E2∞E3)(E1∞E2)∞E3≡E1∞(E
6、2∞E3)F1F2F1F23.投影的串接定律πA1,A2,……,An(πB1,B2,……,Bm(E))≡πA1,A2,……,An(E)4.选择的串接定律σF1(σF2(E))≡σF1∧F2(E)5.选择和投影的交换律σF(πA1,A2,……,An(E))≡πA1,A2,……,An(σF(E))6.选择与笛卡尔积的交换如果F中涉及的属性都是E1中定属性.则σF(E1×E2)≡σF(E1)×E2如果F=F1∧F2,并且F1只涉及E1中的属性,F2只涉及E2中的属性,则由上面的1,4,6可推出:σF(E1×E2)≡σF1(E1)×σF2(E2)如果
7、F1只涉及E1中的属性,F2涉及E1和E2两者的属性,则仍有:σF(E1×E2)≡σF2(σF1(E1)×E2)8.选择与差运算的交换若E1,E2有相同的属性名,则σF(E1-E2)≡σF(E1)-σF(E2)7.选择与并的交换设E=E1∪E2,E1,E2有相同的属性名,则σF(E1∪E2)≡σF(E1)∪σF(E2)9.投影与笛卡尔积的交换设E1和E2是两个关系表达式,A1,A2,…,An是E1的属性,B1,B2,…,Bm是E2的属性,则πA1,A2,……,An,B1,B2,…,Bm≡πA1,A2,……,An(E1)×πB1,B2,……,B
8、m(E2)10.投影与并的交换设E1,E2有相同的属性名,则πA1,A2,……,An(E1∪E2)≡πA1,A2,…,An(E1)∪πA1,A2,…,An(E2)4