现在位置:范文先生网>理工论文>计算机信息技术>PB7谓词逻辑演算功能分析

PB7谓词逻辑演算功能分析

时间:2023-02-21 00:09:17 计算机信息技术 我要投稿
  • 相关推荐

PB7谓词逻辑演算功能分析

                PB7谓词逻辑演算功能分析

 

                 淮阴工学院 张有东

 

摘要:本文介绍了PowerBuilder7.0中谓词逻辑演算功能,并举例分析了其应用。

关键词: SQL、嵌套选择、谓词演算

 

    结构化查询语言SQL是一种介于关系代数与关系演算之间的关系数据库语言,由于其通用性和功能强的特点,目前已成为关系数据库的标准语言。因此,各数据库厂家纷纷推出各自支持的SQL软件或SQL的接口软件。但是,不同DBMS中对标准SQL

>的支持程度不尽相同。从谓词逻辑功能上看,现有的微型机上的DBMS一般均支持带有EXISTS(代表存在量词)和NOT EXISTS的相关查询,而Sybase 公司的PowerBuilder7.0 ,还支持ANYALL等谓词和嵌套选择(nested select),而

VFPAccessParadoxDBMS则不具备,这就使PB7的查询功能强大而灵活,本文给合笔者所开发的教务管理系统,就PB7SQL的谓词逻辑演算的应用作一分析,本系统中的数据库包含有以下三个表:

    ⑴“学生”表

ST(sno,sname,ssex,sage,sdept),相应属性含义分别为学号、姓名、性别、年龄和所在系。

    ⑵“课程”表Course(cno,cname,cpno,ccredit),相应属性含义分别为课程号、课程名、先修课名和学分。

    ⑶“学生选课”表SC(sno,cno,grade), 相应属性含义分别为学号、课程号和成绩。

如查询条件为“所有选修了2

号课程的学生成绩”的PB7SQL语句如下:

SELECT "st"."sname" 

FROM "st" 

WHERE exists (SELECT "sc"."sno" 

              FROM "sc" 

              WHERE ("sc"."cno" = '2' ) AND ( "sc"."sno" = "st"."sno" ) )

  

    其一般处理过程为:首先取外层查询中ST表的第一个元组,根据它与内层查询相关的属性值处理内层查询,若内层WHERE子句返回值为真(即内层查询结果非空),则取此元组放入结果表;然后再检查ST表的下一个元组,如此反复求值,直到ST表全部检查完毕为至。可见,这类查询的一个显著特点是内层查询的查询条件依赖于外层父查询的某个属性值(上述语句中是依赖于ST表中的sno值)。

    同时,也正是由于带EXISTS量词的相关嵌套查询只关心内层查询是否有返回值,并不需要具体值,因此这类查询的效率有时甚至是最高效的。而ANSI公布的SQL92标准中却没有全称量词(For All)和蕴函(Implication)逻辑演算,PB7中也没有,解决的方法是利用谓词演算将一个带有全称量词的谓词或一个逻辑蕴函的谓词转换为等价的带有存在量词的谓词,我们可很容易推导出如下的等价公式(p

q表示条件):

(1)(∨xp≡┐(зx(p))

(2)p   q≡┐pq

    这样,就可以通过谓词演算实现系统的含有全称量词和蕴含逻辑运算的查询。

如查询条件为“至少选修了98001学生选修的全部课程的学生的学生号和姓名”的实现过程如下:

【PB7谓词逻辑演算功能分析】相关文章:

形式标记的元功能分析08-08

语气副词的语用功能分析08-07

集合与简易逻辑08-17

逻辑的尽头作文04-26

毕业论文的逻辑08-06

有关镜子的逻辑作文08-16

逻辑联结词08-17

有趣的面试逻辑题08-17

证券法中的民事责任功能分析08-05