章演绎数据库.PPTVIP

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
章演绎数据库

第14章 演绎数据库 14.1 递归查询 一种包含递归的复杂数据结构关系示例 [三轮车]零配件库存关系表Assembly 有三个字段:part(配件)/subpart(子配件)/qty(数量)。 关系的每个元组表示一配件中含某类子配件的数量。 Datalog基本知识(1) Datalog是一个特别构造的专业名词 它是一个专业构造词,表达‘数据data’、‘逻辑logic’的含义。 它是一种受著名逻辑编程语言Prolog启发而发展起来的关系语言,并基本遵循Prolog的标记法。 由多条Datalog规则有机组合可形成逻辑程序 例如,为查询每个配件的构成组件(即子配件),可能会先定义一个名为Components的中间结果关系,并构造如下包含两条Datalog规则的逻辑程序: Components(Part, SubPart) :- Assembly(Part, Subpart, Qty). Components(Part, SubPart) :- Assembly(Part, Part2, Qty), Components(Part2, SubPart) Datalog基本知识(2) Datalog规则 Components(Part, SubPart) :- Assembly(Part, Subpart, Qty). Components(Part, SubPart) : - Assembly(Part, Part2, Qty), Components(Part2, SubPart) 符号“:-”表示逻辑蕴含,其右边部分称为规则体(body)、左边部分称为规则头(head)。 如果“规则体中提及的元组存在于DB关系中”,则蕴含着“规则头中的元组也必定在提及它DB关系中”。 Datalog基本知识(3) Datalog规则与关系代数 应用Datalog规则也可由关系代数的有关概念来理解。 (r1)相当于简单对Assembly关系运用投影――投影结果加到最初为空的Components关系中。 (r2)连接Assembly关系和Components,并执行一次含part,subpart字段的投影。投影结果以union方式加入到Components关系中。 唯一的、不能用关系代数解释的一个Datalog操作,是反复应用规则来定义Components,直到没有新元组产生为止。 重复应用一规则集操作,称为不动点(fixpoint)操作。 Datalog与一阶谓词逻辑关系 一阶谓词逻辑(First Order Logic,FOL) Datalog基本知识(4) Datalog规则与关系代数 Datalog与一阶谓词逻辑(FOL)关系 本质上,Datalog是FOL中Horn子句表示法的子集,是通过对FOL的Horn子句进一步限定而发展起来的,并主要用于演绎数据库的一种简单知识表达语言。 Datalog规则的一般形式为: 利用Datalog规则进行推理 示例:以图14.1(a)中的Assembly实例为输入,利用由规则r1/r2构成的逻辑程序进行推理,具体推理步如下: 1)应用规则(r1),将获得图14.2(a)所示的Components元组集。 2)应用规则(r2)后,将产生如图14.2(b)所示的一组Components新元组。 新元组由粗矩形框特别标识,共有6个元组。 3)再次应用(r2)后,除了会重复产生(发现)首次应用规则(r2)所产生的那6个元组外,还将额外产生如图14.2(c)中粗矩形框内标识的两个新元组。 4)第三次应用(r2) ,将不会再产生任何新元组。 这说明,推理工作已完成。 利用规则(r1-r2)进行推理的结果示例(图14.2 ) 14.2 演绎数据库理论基础 Datalog程序语义 可将Datalog程序中的关系分为输入关系和输出关系两类。当我们理解了已有输入关系实例如何通过Datalog程序与输出关系关联后,一个查询的含义(语义)就会清晰起来。 输出关系指由规则定义的关系,故也被称为计算关系,如规则(r1-r2)中的Components。 输入关系一般对应DB中已有的实关系表,也称为外部关系。 给定所有输入关系的一个实例,我们必须计算出输出关系的实例。 可通过独立理解每条规则的含义来理解一个Datalog程序。 每条规则的语义是:如果规则体为真,则规则头也必为真。 如果给定了所有出现在规则体中关系的元组,则在规则头提

您可能关注的文档

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档