1.查询处理步骤
查询分析(语法分析);查询检查(结合数据字典进行语义检查)检查通过之后将SQL语句
转化为等价的关系代数表达式,一般用查询树表达;再进行查询优化,分为代数优化和物
理优化,分别针对关系代数表达式和存取路径底层操作算法,最后查询执行。
2.代数优化的一般准则
选择尽量选做
选择投影同时进行(都对同一个关系操作时这样,避免重复扫描)
把投影和双目运算结合起来
把选择和前面笛卡尔积结合起来
找出公共子表达式
3.关系代数表达式等价变换规则
转为投影:
投影的串接定理:应用一般,可以自主思考
投影与笛卡尔积的分配率:以A、B分别代表E1,E2的属性列:
投影A,B(E1XE2)=投影A(E1)X投影B(E2) //**重点**
投影与并的分配率:先并再投=先投再并 //**重点**
转为选择:
选择与笛卡尔积的交换律:若F为E1中的属性,则:
选择F(E1XE2)=选择F(E1)XE2
若F=F1和F2
且F1只属于E1,F2只属于E2,则:
选择F(E1XE2)=选择F1(E1)X选择F2(E2)
若F=F1和F2
且F1只属于E1,F2属于E1、E2,则:
选择F(E1XE2)=选择F2(选择F1(E1)XE2)//重点
选择串接定理:选择F1(选择F2(E))=选择F2(选择F1(E))=选择F1和F2(E)//重点
选择的分配率:先(并、差、连接)再选择=分别选择再(并、差、连接//重点