三九宝宝网宝宝百科宝宝知识

关系代数表达式的优化算法

11月26日 编辑 39baobao.com

[SQLServerSQL中的正则表达式]SQL的查询语句中,有时会需要引进正则表达式为其复杂搜索指定模式。下面给出一些Regexp在MYSQL语句中应用(非全部):1) ^匹配字符串的开始部分。mysql>SELECT 'fonfo' REGEXP '...+阅读

关系表达式的优化过程:输入一个关系表达式的语法树;输出一个计算该表达式的程序。

方法:

1. 利用关系代数等价变换规则4(选择串接定理)把形如

σ-F1ùF2。。。ùFn ( E ) 等价变换为σ-F1(σ-F2( …. σ-Fn ( E ) …..) 使选择操作可以灵活方便地沿查询树移动。

2. 对每个选择,利用关系代数等价变换规则4~8,尽可能把它移到树的叶端。

3. 对每个投影利用关系代数等价变换规则

3、

5、

9、10中的一般形式尽可能把它移至树的叶端。其中规则3可使一些投影消失;规则5可把投影推到叶端;规则9可先做投影后做笛卡儿积;规则10是投影对并的分配,可以利用它将投影推向叶端。若投影针对表达式的全部属性,则可消去这一投影运算。

4. 利用关系代数等价变换规则

3、

4、5对选择和投影进行串接和合并,将其合并成单选择、单投影或单选择后跟一个投影等三种情况。使多选择或多投影能同时执行或在一次扫描过程中同时完成。

5. 把上述得到的语法树的内结点分组,每一双目运算(∪、-、X、>< )与其直接祖先的一目运算结点(不超过别的二目运算结点)分在同一组;如果它的子孙结点一直通到叶结点都是一目运算(σ-、?),则将它归入该组中。但当二目运算是笛卡儿积(X),且其后的选择不能与它结合为等值连接时,其后的单目运算就单独分为一组。

6. 生成一个程序,每个结点的计算为程序的一步。

以下为关联文档:

正则表达式数据抽取regularexpressionadvanceuse以下是程序的输出:Aim String:buffer size1=0x1234 buffer size2=1024 buffer size3=9999[src pattern]:buffer size1=VAR{HEX_NUM=>N1} buffer size2=VAR{STRING=>N2} buf...

汇编语言标识符和表达式标识符和表达式是程序设计经常用到的两个基本概念。在用高级语言进行程序设计时,如果程序要对某个变化的量进行处理时,通常都要对该变化量定义一个具有某种数据类型的符号名,用...

C++基础中缀转后缀表达式对于一个中缀表达式 a+b*c*(d-e/f) 转换成后缀是这样的形式 abc*def/-+后缀表达式是相当有用处的,转换成后缀表达式后求值会简单很多.那么该如何转换呢?网上关于这方面的...

用EXCEL自定义函数计算结果或得到值的计算表达式有许多朋友想知道计算表达式结果的方法,我自己做了一个,供大家参考,方法如下:打开excel,打开“工具_宏_Visual Basic编辑器”,在左侧的工程资源管理器中本文件名称上点击右键,选...

德语口语“敝人以为”……德语意见表达式finden 认为,感到、发觉 Ich finde es falsch. 我觉得这不对。 Ich finde es praktisch. 我觉得很实惠。 Ich finde es schoen. 我觉得这很好。 Ich finde es unpassend. 我...

计算机逻辑基础一逻辑代数的基本概念逻辑代数,也称布尔代数( Bolean algebra)或开关代数,是表示和处理事物之间各种逻辑关系的一种数学工具。例如: A1、必须带"学生证"或"身份证"方可进机房。 A2、不管白猫黑猫,抓到...

推荐阅读
图文推荐