-
演繹數據庫
鎖定
- 中文名
- 演繹數據庫
- 外文名
- deductive database
- 產生時期
- 20世紀70年代後期
- 核 心
- 包含遞歸查詢算法的演繹推理機制
- 表示工具
- 一階謂詞邏輯
- 常用查詢語句
- Datalog
演繹數據庫定義
演繹數據庫是指具有演繹推理能力的數據庫,一般地,它用一個數據庫管理系統和一個規則管理系統來實現。將推理用的事實數據存放在數據庫中,稱為外延數據庫;用邏輯規則定義要導出的事實,稱為內涵數據庫。主要研究內容為,如何有效地計算邏輯規則推理,具體為:遞歸查詢的優化、規則的一致性維護等。
[2]
演繹數據庫技術主要內容包括邏輯理論、邏輯語言、遞歸查詢處理與優化算法、演繹數據庫體系結構等。演繹數據庫的理論知識是一階謂詞邏輯和一階語言模型論。這些邏輯理論是研究演繹數據庫技術的基石,對其發展起到了重要的指導作用。
[3]
演繹數據庫發展階段
第一階段
第二階段
第三階段
演繹數據庫基本結構
演繹數據庫由三部分組成:
(1)傳統數據庫管理。由於演繹數據庫建立在傳統數據庫之上,因此傳統數據庫是演繹數據庫的基礎。
(2)具有對一階謂詞邏輯進行推理的演繹結構,這是演繹數據庫全部功能特色所在,推理功能由此結構完成。
(3)數據庫與推理機構的接口 由於演繹結構是邏輯的,而數據庫是非邏輯的,因此必須有一個接口實現物理上的連接。
[5]
演繹數據庫理論研究
演繹數據庫是一種新的數據庫技術,其本質仍然是數據庫。雖然演繹數據庫的理論研究取得了很大的成就,但還需要不斷完善,儘快實現商品化。
建立理論體系
建立一個較為理想的演繹數據庫理論體系。雖然全一階理論為演繹數據庫提供嚴密的理論基礎,但由於實現起來比較困難,效率低下,因此需要尋找一種相對合理的理論,以指導演繹數據庫的發展。
並行推理與分佈式演繹數據庫
利用人工智能
應嘗試更多地利用人工智能的思想和技術。演繹數據庫是人工智能與數據庫技術相結合的一種技術,但演繹數據庫只用了人工智能中演繹邏輯推理的某些概念,實際上人工智能還有很多思想和技術可供演繹數據庫借鑑。
引入高階邏輯
雖然一階邏輯可以提供比較嚴密的理論基礎,但是高階邏輯卻具有更強的表達能力,所以不放在演繹數據庫中引入高階邏輯。
特殊類型演繹數據庫
已經出現了兩種非常重要的演繹數據庫,一種是層疊式演繹數據庫,另一種是與域無關的演繹數據庫。
演繹數據庫實現方法
對演繹數據庫的研究始於20世紀70年代後期,對它的研究分為兩個方面:數學模型和實現方法。
在演繹數據庫中往往用證明理論作為其實現的數學模型,在證明理論中,演繹數據庫可視為一個一階謂詞演算的公理系統,包括:
(1)公理:一階謂詞演算公式;
(2)定理:有公理通過證明而獲得的一階謂詞演算公式;
(3)證明:有公理經推理而得到定理的證明工具。
實現演繹數據庫的方法有三種:
PROLOG語言
由於PROLOG語言是一種基於證明理論的語言,因此用它來實現從理論上是完全可行的。用PROLOG語言表示演繹數據庫不需要編制專門的系統軟件,從而實現工作變得極為簡單。將傳統數據庫與演繹結構均用證明理論方法表示,這樣,整個演繹數據庫也變得極為簡單。但由於PROLOG語言本身的弱點(效率低),因此用它來有效完整地表示一個演繹數據庫還需進一步改造。這方面的工作主要集中在兩點:
(1)功能上改進,在PROLOG中增加數據庫的功能,以適應對數據的處理要求;
DBMS+RULE
著名的SQL和INGRESE都已經實現了演繹功能。其中RULE部分需要完成推理與接口兩部分功能。推理部分由演繹結構完成;接口部分的功能是將推理中的邏輯表示轉換為給定DBMS中的數據描述與數據操縱語言中的語句。當用户查詢演繹數據庫時,如果涉及到的是實關係,則如同通常的數據庫查詢一樣處理;如果涉及的是虛關係,則由規則處理部分的演繹結構將其轉換成對實關係的查詢,最後通過DBMS的查詢結構完成,將最終結果提交給用户。
[1]
專用軟件
演繹數據庫數據庫區別
演繹數據庫與智能數據庫
2.區別。演繹數據庫雖然也含有規則,但含有的規則較少,數據量較大;至於智能數據庫不僅應用人工智能中的邏輯推理思想,而且還應用人工智能中自然語言理解、語言識別,圖像、文字處理等多種方法與技術於數據庫,以求得更多的功能、性能的改善與提高。因此,從某種程度上來講,演繹數據庫是智能數據庫的一部分。
[1]