以下图片来自西安交通大学侯迪老师的ppt,仅供学习和复习使用,请勿转载或他用
6.1 关系数据库系统的查询处理
6.1.1 数据库管理系统的查询处理步骤
查询处理四个阶段:
-
查询分析
-
查询检查
-
查询优化
-
查询执行
-
查询分析
-
查询检查
任务:
-
合法权检查(关系、属性名是否存在且有效)
-
视图转换(若有视图,先视图消解为对基本表的操作)
-
安全性检查
-
完整性初步检查
-
查询优化
-
查询执行
6.1.2 举例:选择操作的实现
两种方法:
-
全表扫描
-
索引扫描(若有索引,如B+和hash,通过索引先找到满足条件的元组主码或元组指针,再通过元组指针直接在查询的基本表中找到元组。)
6.1.3 举例:连接操作的实现
6.2 查询优化
小结:
6.3 代数优化
6.3.1 常用的等价变换规则
-
连接、笛卡尔积的交换律和结合律
-
投影和选择的串接定律
即投影之后再投影,第二次投影的属性集合一定是第一次的子集,那么实际上就是在第二次的属性集上投影
选择时,两次选择可以合并为一次
-
选择与投影的交换律
-
选择和笛卡尔积的交换律
即笛卡尔积后选择可以变为先选择再笛卡尔积
-
选择和并、差、自然连接的分配律
-
投影和笛卡尔积、并的分配律