优化的一般策略:1、提前执行选择运算
2、合并乘积与其后的连接为连接运算
3、在一次扫描中,同时执行一连串的选择和投影
4、提前对文件做预处理,如建立倒排文件---倒排:估计是分组
5、存储公共表达式
三、关系代数表达式的等价代换规则:---优化的基础---这节有几个公式笔记中没办法表现出来
1、投影串结合
相连的两次投影,必然包含,否则内层投影无意义。
2、选择串结合:
两次选择操作在一次扫描中完成
3、选择与投影交换
若选择公式F中只涉及A1...AN,则
规则上先选择,先投影,结果同实现上是一次扫描中完成,且不受上述条件限制
4、选择和乘积交换
有如下几种情况:
公式F中只涉及E1或E2属性等等。。。
5、选择与合并交换
E1、E2属性相同
6、选择与求差交换
7、投影与合并交换
8、投影与乘积交换
9、结合律:
设E1、E2、E3是关系代数表达式,F1、F2为连接条件。且F1只涉及E1,E2;F2只涉及E2、E3属性。则有:自然连接和乘
四、广义包含和广义相等
~问题的提出
定义:设关系R、S框架含有相同的属性集合,将R连同其框架一起进行列交换,变成与S同类关系R1,那么:
1、若R1包含S,则R广义包含S,记为
2、若S包含R1,则称R广义包含于S,记为
3、若R1=S,则称R广义等于S,记为
显然对S进行列交换也可给出同一定义。
若E1~E3为关系代数表达式,则根据定义有:
a、
b、
c、
d、
且有如下等价交换:
1、广义交换律: