




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本章内容提要 支持关系模型的数据库系统是关系系统。 由于支持关系模型的程度不同,实际的数据库系统可以分为表式系统、(最小)关系系统、关系完备的和全关系的四类系统。 查询处理是数据库管理系统的核心,而查询优化技术又是查询处理的关键技术。查询优化一般可分为代数优化和物理优化。代数优化是指关系代数表达式的优化,物理优化则是指存取路样和低层操作算法指示变量的选择。,第四章 关系系统及其查询优化,本章重点: 关系系统中查询优化的概念、基本原理和技术; 查询优化的一般准则; 查询优化的一般步骤。 本章难点: 查询优化的一般准则; 查询优化的一般步骤。,第四章 关系系统及其查询优化,关系模型的三要素:关系数据结构 关系操作 关系的完整性 关系系统和关系模型是两个密切相关而又不同的概念。支持关系模型的数据库管理系统称为关系系统。但是关系模型中并非每一部分都是同等重要的,所以我们不苛求完全支持关系模型的系统才能称为关系系统。因此,我们给出一个关系系统的最小要求以及分类的定义。,第四章 关系系统及其查询优化 4.1 关系系统,4.1.1 关系系统的定义 一个系统可定义为关系系统,当且仅当它: 1.支持关系关系数据库(关系数据结构); 2.支持选择、投影和(自然)连接运算,对这些运算不必要求定义任何物理存取路径。 系统要进行查询优化,以获得较好的性能。这正是关系系统实施的关键技术。,第四章 关系系统及其查询优化 4.1 关系系统,4.1.2 关系系统的分类 4.1.1定义的关系系统是关系系统的最小要求,许多实际系统都不同程度地超过了这些要求。 按照E.F.Codd的思想,可以把关系系统分类分为四类: 1. 表式系统 2. (最小)关系系统 3. 关系完备的系统 4. 全关系系统,第四章 关系系统及其查询优化4.1 关系系统,4.1.3 全关系系统的十二条基本准则 准则0 一个关系型的DBMS必须能完全通过它的关系能力来管理数据库。准则0是下面十二条准则的基础。 准则1 信息准则。 准则2 保证访问准则。依靠表名、主码和列名的组合,保证能以逻辑方式访问关系数据库中的每个数据项(分量值)。 准则3 空值的系统化处理。 准则4 基于关系模型的动态的联机数据字典。 准则5 统一的数据子语言准则。,第四章 关系系统及其查询优化4.1 关系系统,第四章 关系系统及其查询优化 4.1 关系系统,4.1.3 全关系系统的十二条基本准则 准则6 视图更新准则。 准则7 高级的插入、修改和删除操作。 准则8 数据物理独立性。 准则9 数据逻辑独立性。 准则l0 数据完整性的独立性。 准则11 分布独立性。 准则12 无破坏准则,4.2.1 关系系统及其查询优化 查询优化在关系数据库中有非常重要的地位。 关系数据库系统和非过程化的SQL语言能够成功,关键是得益于查询优化的发展。 关系系统的查询优化既是RDBMS实现的关键技术又是关系系统的优点所在。它减轻了用户选择存取路径的负担。用户只要提出干什么,不必指出怎么干。 查询优化的优点不仅在于用户不必考虑如何最好地表达查询以获得较好的效率,而且在于系统可以比用户程序的“优化”做得更好。,第四章 关系系统及其查询优化 4.2 关系数据库系统的查询优化,关系数据库查询优化的总目标是:选择有效的策略,求得给定关系表达式的值。 实际系统对查询优化的具体实现一般可以归纳为四个步骤: 1、将查询转换成某种内部表示,通常是语法树。 2、根据一定的等价变换规则把语法树转换成标准(优化)形式。 3、选择低层的操作算法。 4、生成查询计划(查询执行方案 )。,第四章 关系系统及其查询优化 4.2 关系数据库系统的查询优化,查询优化有两种基本策略:基于语法的查询优化(结构优化) 基于代价的查询优化。 基于代价的优化算法: 在集中式数据库中,查询的执行开销主要包括: 总代价 = I/O代价 + CPU代价 在多用户环境下: 总代价 = I/O代价 + CPU代价 + 内存代价 4.2.2 一个实例 (P159-161) 一个简单的例子,说明为什么要进行查询优化。 例 求选修了2号课程的学生姓名。用SQL语言表达: SELECT Student.Sname FROM Student,SC WHERE Student.Sno = SC.Sno AND SC.Cno = 2;,第四章 关系系统及其查询优化 4.2 关系数据库系统的查询优化,4.2.3 查询优化的一般准则 下面的优化策略一般能提高查询效率,但不一定是所有策略中最优的。其实优化一词并不确切,也许改进或改善更恰当些。 l. 选择运算应尽可能先做。 2.在执行连接前对关系适当地预处理。 3.把投影运算和选择运算同时进行。 4.把投影同其前或其后的双目运算结合起来,没有必要为了去掉某些字段而扫描一遍关系。 5.杷某些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算。 6.找出公共子表达式。,第四章 关系系统及其查询优化 4.2 关系数据库系统的查询优化,第四章 关系系统及其查询优化 4.2 关系数据库系统的查询优化,关系代数表达式的优化是查询优化的基本课题。 两个关系表达式的等价 常用的等价变换规则有: l. 连接、笛卡尔积交换律 2.连接、笛卡尔积的结合律 3.投影的串接定律 4.选择的串接定律 5.选择与投影的交换律 6.选择与笛卡尔积的交换律 7.选择与并的交换 8.选择与差运算的交换 9.投影与笛卡尔积的交换 l0.投影与并的交换,第四章 关系系统及其查询优化 4.2 关系数据库系统的查询优化,4.2.5 关系代数表达式的优化算法 可以应用上面的变换法则来优化关系表达式,使优化后的表达式能遵循4.2.3中的一般原则。 关系表达式的优化算法:关系表达式的优化。 输入:一个关系表达式的语法树。 输出:计算该表达式的程序。 方法: 利用规则(4)把形如 F1F2.Fn(E)变换为 F1( F2(.( Fn(E).) 对每一个选择,利用规则(4)(8)尽可能把它移到树的叶端。 对每一个投影利用规则(3),(9),(l0),(5)中的一般形式尽可能把它移向树的叶端。 利用规则(3)(5)把选择和投影的串接合并成单个选择、单个投影或一个选择后跟一个投影。 把上述得到的语法树的内节点分组。 生成一个程序,每组结点的计算是程序中的一步。,第四章 关系系统及其查询优化 4.2 关系数据库系统的查询优化,4.2.6 优化的一般步骤 各个关系系统的优化方法不尽相同,大致的步骤可以归纳如下: l. 把查询转换成某种内部表示 2. 把语法树转换成标淮(优化)形式 3. 选择低层的存取路径 4. 生成查询计划,选择代价最小的,第四章 关系系统及其查询优化 4.2 关系数据库系统的查询优化,例:查询优化语法树: Select sname from student,sc where student.sno =s.sno and c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 完善网络信息安全培训规程
- 康复医学康复规程
- 农作物生长环境调查方案
- 农业农村环境保护规定
- 2025至2030年中国营养师培训市场运行现状及行业发展趋势预测报告
- 2025浙江省金华成泰农商银行社会招聘笔试备考试题及答案解析
- 水利工程水库设计总结
- 2025榆林高新第六小学招聘笔试含答案
- 2025乡村社区后备干部考试题及答案
- 2025乌什县消防救援大队招聘政府专职消防员(6人)笔试参考题库附答案解析
- 消毒灭菌效果监测报告
- 2025年软工导论期末试题及答案
- 房子赠与给子女合同范本
- 医疗器械临床评价报告模板
- (2025秋新版)人教版九年级物理上册全册教案
- 虚拟服装培训教程课件
- 2025年国防教育知识竞赛试题(附答案)
- 非车主押车借款合同范本
- 2025广东中山大学附属第一医院惠亚医院事业编制人员招聘37人(第二批次)笔试备考试题及答案解析
- GJB2220A-2018 航空发动机用钛合金饼、环坯规范
- 精神卫生防治业务技能竞赛理论试题库300题(含答案)
评论
0/150
提交评论