查询树与分解树合并-厦门大学数据库室.PPT

查询树与分解树合并-厦门大学数据库室.PPT

  1. 1、本文档共69页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
查询树与分解树合并-厦门大学数据库室

分布式数据库技术 专题三 分布式查询处理 附件:主讲教师和助教信息 4.3.2.1 全局查询转换成查询树 分析: 图4.4(a)是下列代数表达式的查询树: πS#σAREA=‘North’(Sp ∞ Dept) D#=D# 图4.4(b)是利用一元操作对二元操作的分配律规则:U((R)B(S)) 把一元操作向下移动,这时的代数操作表达式为: (U(R))B(U(S)), πS#(Sp ∞ σAREA=‘North’(Dept)) D#=D# 图4.4(c)是利用一元操作幂等律:U(R) ≡ U1 U2 (R) 对“操作数关系”分解为多个一元操作,以缩减“操作数关系”。即通过替换运算得: πS#(πS#,D# (Sp) ∞ πS#σAREA=‘North’(Dept) D#=D# 准则C1:缩减二元操作数关系,利用一元操作对二元操作的分配律,将一元操作向下移动。 U((R)B(S)) (U(R))B(U(S)) 准则C2:用一元操作幂等律对操作数关系产生适当的一元操作或分解成多个一元操作,以缩减操作数关系。 U(R)≡U1U2 (R) 4.3.2.1 全局查询转换成查询树 结论: 查询树相当于对一个集中式数据库的查询,集中式数据库的逻辑优化技术可以作用于其上。具体说是要: ①对全局查询树中的一元操作尽量下移到叶节点; ②如果查询树中有二元操作,则应尽量先缩减二元操作的操作数。由此,可获得等价转换准则C1和C2。 4.3.2.2 生成优化的逻辑查询树 生成优化的逻辑查询树,就是把查询树与全局模式的分解树一起来考虑,需要用到限定关系等价变换性质。这一步的操作比较复杂,基本上分为以下几个子过程: 4.3.2.2.1 分解树的化简处理过程 4.3.2.2.2 分解树与查询树的合并过程 4.3.2.2.3 一元操作合并的过程 4.3.2.2.4 分布联接的化简过程 4.3.2.2.5 一个实例 4.3.2.2.1 分解树的化简处理过程 分解树表明了全局关系由哪些逻辑关系组成,按什么方式组合 。 要将全局查询转换成逻辑查询,需要对分解树进行处理。对于一个全局查询而言,并非构成全局关系的所有逻辑关系都将涉及到,往往只使用其中某一些,所以应根据查询树对分解树进行处理。我们称它为分解树的化简处理。 图 分解树结构 4.3.2.2.1 分解树的化简处理过程 当全局查询用查询树表示,经过C1、C2 准则处理后,查询要用到的逻辑关系的条件在查询树中就表现出来了。接着,可以根据这些条件消去一些与查询无关的逻辑关系,即去掉一些操作为空的子树。 假设在查询树中,存在一棵关于全局关系R(U,True,T)的一元操作UnUn-1…U1的子查询树。令F为Ul,…Un中所有选择操作谓词的逻辑合取,即有 F= 。如果没有选择操作,则F=True,令A为U1,…,Un中所有投影操作中的属性和谓词Pj中所涉及的属性的并,即有: 令Qs=Un,…,U1(R)为关系R上的子查询,下面给出分解树化简的定义: 定义4.4:一个关系Ri(Ui,Qi,Si)对于子查询Qs是无用的,当FΛQi=False,Ui∩A=?; 否则是有用的。如果Ri是诱导分片所得的关系,当其主关系是无用的,它也是无用的。 4.3.2.2.1 分解树的化简处理过程 例4.5 ①设有关系R0上的子查询Qs= 其查询子树如图4.7(a)所示,②R0的分解树见图3.6,有 F=P1∧P2,A=A1∪A2∪A(P1)∪A(P2)。 (R0), 假设有F∧Q1=Flase,A∩U221=?,则③化简后的分解树如图4.7(b)所示。 图4.7 分解树化简 4.3.2.2.1 分解树的化简处理过程 图3.6 独立分片操作后的分解树结构 4.3.2.2.1 分解树的化简处理过程 根据上述论述,可从中归结两个化简分解树时有用的准则C3,C4: 准则 C3:在全局查询转换成逻辑查询的过程中,可以消去谓词合取具有矛盾的子树,即可消去选择操作结果为空的子查询树。 准则C4:在全局关系转换成逻辑关系查询过程中,也可以消去联接操作结果为空的子树。 4.3.2.2.2 分解树与查询树的合并过程 在分解树简化处理后应该与查询树合并。 这是两种性质不同的树,但由于分解树是由全局关系经过分片操作形成的,即一组代数操作。查询树是对全局关系的查询操作,也是一组代数操作。所以,我们可以用以下算法实现转化。 算法4.2:简化的分解树转化为逻辑查询树。 输入:已经化简后的分解树。 输出:从全局查询转换为逻

文档评论(0)

ailuojue + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档