网站首页 | 经济学论文 | 证券金融 | 管理学 | 会计审计 | 法学论文 | 医药学论文 | 社会学论文 | 教育论文 | 计算机 | 艺术论文 | 哲学论文 | 财务管理 |
写论文网
  • 民法论文
  • 经济法论文
  • 国际法论文
  • 法学理论论文
  • 司法制度论文
  • 国家法论文
  • 宪法论文
  • 刑法论文
  • 行政法论文
  • 您的位置:写论文网 > 法学论文 > 国家法论文 > 谓词逻辑 PB7谓词逻辑演算功... 正文 2019-12-25 07:26:17

    谓词逻辑 PB7谓词逻辑演算功能分析

    相关热词搜索:

    PB7谓词逻辑演算功能分析

    PB7谓词逻辑演算功能分析 PB7谓词逻辑演算功能分析 淮阴工学院 张有东 摘要:本文介绍了PowerBuilder7.0中谓词逻辑演算功能,并举例分析了其 应用。

    关键词:
    SQL、嵌套选择、谓词演算 结构化查询语言SQL是一种介于关系代数与关系演算之间的关系数据库 语言,由于其通用性和功能强的特点,目前已成为关系数据库的标准语言。因此, 各数据库厂家纷纷推出各自支持的SQL软件或SQL的接口软件。但是,不同DBMS 中对标准SQL的支持程度不尽相同。从谓词逻辑功能上看,现有的微型机上的 DBMS一般均支持带有EXISTS(代表存在量词)和NOT EXISTS的相关查询,而 Sybase 公司的PowerBuilder7.0 ,还支持ANY、ALL等谓词和嵌套选择(nested select),而VFP、Access、Paradox等DBMS则不具备,这就使PB7的查询功能强 大而灵活,本文给合笔者所开发的教务管理系统,就PB7中SQL的谓词逻辑演算 的应用作一分析,本系统中的数据库包含有以下三个表:
    ⑴“学生”表ST(sno,sname,ssex,sage,sdept),相应属性含义分别为学号、姓 名、性别、年龄和所在系。

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

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

    如查询条件为“所有选修了2号课程的学生成绩”的PB7的SQL语句如下:
    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)(∨x)p≡┐(зx(┐p)) (2)p q≡┐p∨q 这样,就可以通过谓词演算实现系统的含有全称量词和蕴含逻辑运算的查 询。

    如查询条件为“至少选修了98001学生选修的全部课程的学生的学生号和 姓名”的实现过程如下:
    设用p表示谓词“98001学生选修了课程y”。

    用q表示谓词“学生x选修了课程y”。

    用Cy表示“课程y”。

    则上述查询可表示为:(∨Cy)(p→q) 该查询可以转换为如下等价形式:
    (∨Cy)p→q≡┑ЭCy(┑(p→q))≡┐ЭCy(┒(┒p∨q))≡┒ЭCy(p∧┐q) 它所表示的语义可解释为:不存在这样的课程y,98001学生选修了y,而学生x没有选,用PB7的SQL可表示如下:
    SELECT DISTINCT "sc"."sno" FROM "sc", "scx" WHERE ( "sc"."sno" = "scx"."sno" ) and ((not exists ( SELECT DISTINCT "sc"."sno" FROM "sc", "scx" WHERE ( "sc"."sno" = "scx"."sno" ) and ((“scy”. “sno”=’95002’)AND FROM "sc", "scy" WHERE ( "sc"."sno" = "scy"."sno" ) and ( ( "scy"."sno" = "95002" ) AND ( not exists ( SELECT "sc"."sno" FROM "sc", "scz" WHERE ( "sc"."sno" = "scz"."sno" ) and ( ( "scz"."sno" = "scx"."sno" ) AND ("scz"."cno" = "scy"."cno" ))))))))

    • 范文大全
    • 教案
    • 优秀作文
    • 教师范文
    • 综合阅读
    • 读后感
    • 说说
    谓词逻辑 PB7谓词逻辑演算功能分析》由(写论文网)整理提供,版权归原作者、原出处所有。
    Copyright © 2019 写论文网 All Rights Reserved.