1、第四章 关系系统及其查询优化,关系系统的定义和分类关系系统的查询优化 (概念、基本原理和技术),4.1 关系系统,第二章针对关系模型: 关系数据结构、关系的完整性、三类等价的关系操作 关系系统: 支持关系模型的数据库管理系统。 问题: 关系模型中的各部分不是一样重要; 如何给出一个关系系统的最小要求以及分类的定义。,4.1.1 关系系统的定义,一个系统可定义为关系系统,当且仅当它: 支持关系数据库(关系数据结构) 用户看到的数据库中只是表这一种数据结构。 支持选择、投影和(自然)连接运算,且不要求定义任何物理存取路径 不应要求用户建立索引才能支持; 不要求相应运算完全一样,只要有等价的功能就可
2、以。,4.1.1 关系系统的定义,定义的解释: 需要支持三种运算:方便用户的操作,这也是关系系统的目标; 运算不能依赖物理路径:会降低或丧失物理独立性; 只要求支持三种运算:它们是最有用的功能,能解决绝大部分实际问题。,4.1.2 关系系统的分类,进行标识的三部分: 数据结构S:structure 完整性I:integrity 数据操纵M:manipilation 表式系统:只支持关系数据结构,不支持集合级的操作 最小关系系统:关系数据结构+三种关系操作, Foxbase, Foxpro 关系完备的系统:关系数据结构+所有关系代数操作; 全关系系统:关系数据结构+所有关系代数操作,支持域的概念、实体完整性和参照完整性。,4.2 查询优化,总目标: 选择有效的策略,求得给定关系表达式的值。 四个步骤: 将查询转换成某种内部表示; 根据一定规则转换成标准优化形式; 选择低层的操作算法; 生成查询计划。,4.2 查询优化,查询的代价 I/O+CPU+内存 系统优化的好处 从DD中获取许多统计信息; DB的物理信息改变,能很好的适应; 可以考虑几百种不同的执行计划; 包括了很多复杂的优化技术。,4.2 查询优化,几个例子 SQL中:嵌套查询、连接查询、EXISTS的等价形式关系代数中:连接、选择、投影的顺序。,