定义
演绎的含义是根据已知的事实和规则进行推理,回答用户提出的各种问题。演绎数据库也称为逻辑数据库、演绎关系数据库或虚关系数据库。换言之,它们有很强的的推理能力,这种推理能力起源于人工智能的研究。1
演绎数据库是指具有演绎推理能力的数据库,一般地,它用一个数据库管理系统和一个规则管理系统来实现。将推理用的事实数据存放在数据库中,称为外延数据库;用逻辑规则定义要导出的事实,称为内涵数据库。主要研究内容为,如何有效地计算逻辑规则推理,具体为:递归查询的优化、规则的一致性维护等。2
演绎数据库可包含三方面内容:实数据(事实)、规则及虚数据。虚数据系根据已知的实数据经使用规则推理得到,它不必放在数据库中。1
演绎数据库技术主要内容包括逻辑理论、逻辑语言、递归查询处理与优化算法、演绎数据库体系结构等。演绎数据库的理论知识是一阶谓词逻辑和一阶语言模型论。这些逻辑理论是研究演绎数据库技术的基石,对其发展起到了重要的指导作用。3
发展阶段第一阶段20世纪60年代末到70年代为演绎数据库发展的第一阶段,在这一阶段诞生了关系演算查询语句和逻辑程序设计语言PROLOG,并对演绎数据库的形成产生了重大影响。4
1978年《逻辑与数据》一书的出版标志着演绎数据库领域的诞生。4
第二阶段20世纪70年代末到80年代为演绎数据库发展的第二阶段。在这个阶段,演绎数据库和逻辑程序设计的理论研究以及与实现有关的基础研究都得到了全面发展和完善。4
1987年,Minken编写了《演绎数据库与逻辑程序设计》一书,它标志着演绎数据库理论已经走向成熟。4
第三阶段20世纪80年代末一直到现在为演绎数据库发展的第三阶段,这一阶段出现了一些试验性的系统,但还没有商品化的演绎数据库系统投入到市场,因而演绎数据库也没有得到真正的应用。4
基本结构演绎数据库由三部分组成:
(1)传统数据库管理。由于演绎数据库建立在传统数据库之上,因此传统数据库是演绎数据库的基础。
(2)具有对一阶谓词逻辑进行推理的演绎结构,这是演绎数据库全部功能特色所在,推理功能由此结构完成。
(3)数据库与推理机构的接口 由于演绎结构是逻辑的,而数据库是非逻辑的,因此必须有一个接口实现物理上的连接。5
理论研究演绎数据库是一种新的数据库技术,其本质仍然是数据库。虽然演绎数据库的理论研究取得了很大的成就,但还需要不断完善,尽快实现商品化。
建立理论体系建立一个较为理想的演绎数据库理论体系。虽然全一阶理论为演绎数据库提供严密的理论基础,但由于实现起来比较困难,效率低下,因此需要寻找一种相对合理的理论,以指导演绎数据库的发展。
并行推理与分布式演绎数据库关于并行逻辑程序或分布式演绎数据库的理论模型及其语义问题至今还没有彻底弄清楚,但是已经有人从度量空间和拓扑学角度出发,并取得某些初步成果。
利用人工智能应尝试更多地利用人工智能的思想和技术。演绎数据库是人工智能与数据库技术相结合的一种技术,但目前的演绎数据库只用了人工智能中演绎逻辑推理的某些概念,实际上人工智能还有很多思想和技术可供演绎数据库借鉴。
引入高阶逻辑虽然一阶逻辑可以提供比较严密的理论基础,但是高阶逻辑却具有更强的表达能力,所以不放在演绎数据库中引入高阶逻辑。
特殊类型演绎数据库已经出现了两种非常重要的演绎数据库,一种是层叠式演绎数据库,另一种是与域无关的演绎数据库。
实现方法对演绎数据库的研究始于20世纪70年代后期,对它的研究分为两个方面:数学模型和实现方法。
在演绎数据库中往往用证明理论作为其实现的数学模型,在证明理论中,演绎数据库可视为一个一阶谓词演算的公理系统,包括:
(1)公理:一阶谓词演算公式;
(2)定理:有公理通过证明而获得的一阶谓词演算公式;
(3)证明:有公理经推理而得到定理的证明工具。
目前实现演绎数据库的方法有三种:
PROLOG语言由于PROLOG语言是一种基于证明理论的语言,因此用它来实现从理论上是完全可行的。用PROLOG语言表示演绎数据库不需要编制专门的系统软件,从而实现工作变得极为简单。将传统数据库与演绎结构均用证明理论方法表示,这样,整个演绎数据库也变得极为简单。但由于PROLOG语言本身的弱点(效率低),因此用它来有效完整地表示一个演绎数据库还需进一步改造。这方面的工作主要集中在两点:
(1)功能上改进,在PROLOG中增加数据库的功能,以适应对数据的处理要求;
(2)效率上的提高,改进PROLOG的搜索速度,以大大提高它的效率。1
DBMS+RULE目前著名的SQL和INGRESE都已经实现了演绎功能。其中RULE部分需要完成推理与接口两部分功能。推理部分由演绎结构完成;接口部分的功能是将推理中的逻辑表示转换为给定DBMS中的数据描述与数据操纵语言中的语句。当用户查询演绎数据库时,如果涉及到的是实关系,则如同通常的数据库查询一样处理;如果涉及的是虚关系,则由规则处理部分的演绎结构将其转换成对实关系的查询,最后通过DBMS的查询结构完成,将最终结果提交给用户。1
专用软件利用专用软件来实现,这种方法必须一切从头开始,研制周期长且工作量大,所以并不实用。4
演绎数据库与智能数据库1.联系。两者均属于数据库范围,都是人工智能与数据库的结合,吸取了人工智能的成功技术的成果。1
2.区别。演绎数据库虽然也含有规则,但含有的规则较少,数据量较大;至于智能数据库不仅应用人工智能中的逻辑推理思想,而且还应用人工智能中自然语言理解、语言识别,图像、文字处理等多种方法与技术于数据库,以求得更多的功能、性能的改善与提高。因此,从某种程度上来讲,演绎数据库是智能数据库的一部分。1