1,关系系统
1.1,最小关系系统,关系完备系统和全关系系统
1.2,全关系系统的12条准则
2,查询优化
2.1,六大准则
选择运算要优先
连接前要预处理(建立索引或者关系排序)
投影选择同时做
投影双目相结合
选择结合笛卡尔(组成了一个连接运算)
找出公共表达式
2.2,等价变换规则(十大变换)
连、笛交换律
连、笛结合律
投影串接律
选择串接律
选投交换律
选笛交换律
选并交换律
选差交换律
投笛交换律
投并交换律
2.3,查询优化六步算法
1,利用串接定律把选择拆单
2,利用4到8的交换律把选择尽可能移动到树的叶端
3,将投影用串接定律拆单,并通过投笛交换律和投并交换律尽量移动到叶端
4,利用选投交换律选择投影变成单个选择、单个投影或者一个选择后跟着一个投影。
5,把双目运算符(笛,连,并,差)与父节点的选择投影算做一组,如果双目后代都是单目运算符则也并入该组。注意,如果双目运算符是笛卡尔积,但是其后代中的选择不能与其合并成连接时,那么就不能并为一组。(原书说了半天一个例子也没举,这本书经常这样)。
6,生成程序。
说句实话,1、2、3、4四步还可以理解,第5步我是不太理解作者想表达什么,随缘吧。
2.4,查询优化一般步骤
生成内部表示(生)——>语法书转化为优化形式(优)——>选择底层存取路径(选)——>估计代价选最省(估)
课后习题
解答:
1,最小关系系统:仅支持关系数据结构和三种关系操作(选择、投影、连接)。
关系完备系统:支持关系数据结构和所有的关系操作。
全关系系统:在关系完备的基础上,支持域的概念,以及实体完整性和参照完整性。
2,书上原文,懒得抄了。
3,重要性:由于用户的查询语句是非过程化的,所以这意味着DBMS可以生成多种方案来完成一次查询,这些方案的代价各不相同,所以DMBS必须适当选择合理的代价来完成用户的查询操作,这直接决定了一个数据库系统的性能。
可能性:关系表达式的语义级别很高,使关系系统可以从关系表达式中分析查询语义,这提供了查询优化的可能性。
4,最终的优化就是把Student.Sdept = 'IS'移动到叶子端。
5,参考我前面归纳的六大准则。
6,参考前面我归纳的一般步骤,即生优选估。