PB7谓词逻辑演算功能分析
nbsp; FROM "sc"
本文链接地址:http://www.oyaya.net/fanwen/view/144688.html
WHERE ("sc"."cno" = '2' ) AND ( "sc"."sno" = "st"."sno" ) );
其一般处理过程为:首先取外层查询中ST表的第一个元组,根据它与内层查询相关的属性值处理内层查询,若内层WHERE子句返回值为真(即内层查询结果非空),则取此元组放入结果表;然后再检查ST表的下一个元组,如此反复求值,直到ST表全部检查完毕为至。可见,这类查询的一个显著特点是内层查询的查询条件依赖于外层父查询的某个属性值(上述语句中是依赖于ST表中的sno值)。
同时,也正是由于带EXISTS量词的相关嵌套查询只关心内层查询是否有返回值,并不需要具体值,因此这类查询的效率有时甚至是最高效的。而ANSI公布的SQL92标准中却没有全称量词(For All)和蕴函(Implication)逻辑演算,PB7中也没有,解决的方法是利用谓词演算将一个带有全称量词的谓词或一个逻辑蕴函的谓词转换为等价的带有存在量词的谓词,我们可很容易推导出如下的等价公式(p、
q表示条件):