定義
演繹的含義是根據已知的事實和規則進行推理,回答用戶提出的各種問題。演繹資料庫也稱為邏輯資料庫、演繹關係資料庫或虛關係資料庫。換言之,它們有很強的的推理能力,這種推理能力起源於人工智慧的研究。
演繹資料庫是指具有演繹推理能力的
資料庫,一般地,它用一個
資料庫管理系統和一個規則管理系統來實現。將推理用的事實數據存放在
資料庫中,稱為外延資料庫;用邏輯規則定義要導出的事實,稱為內涵資料庫。主要研究內容為,如何有效地計算邏輯規則推理,具體為:
遞歸查詢的最佳化、規則的一致性維護等。
演繹資料庫可包含三方面內容:實數據(事實)、規則及虛數據。虛數據系根據已知的實數據經使用規則推理得到,它不必放在資料庫中。
演繹資料庫技術主要內容包括邏輯理論、邏輯語言、
遞歸查詢處理與最佳化算法、演繹資料庫體系結構等。演繹資料庫的理論知識是一階謂詞邏輯和一階語言模型論。這些邏輯理論是研究演繹資料庫技術的基石,對其發展起到了重要的指導作用。
發展階段
第一階段
20世紀60年代末到70年代為演繹資料庫發展的第一階段,在這一階段誕生了關係演算查詢語句和邏輯程式設計語言PROLOG,並對演繹資料庫的形成產生了重大影響。
1978年《邏輯與數據》一書的出版標誌著演繹資料庫領域的誕生。
第二階段
20世紀70年代末到80年代為演繹資料庫發展的第二階段。在這個階段,演繹資料庫和邏輯程式設計的理論研究以及與實現有關的基礎研究都得到了全面發展和完善。
1987年,Minken編寫了《演繹資料庫與邏輯程式設計》一書,它標誌著演繹資料庫理論已經走向成熟。
第三階段
20世紀80年代末一直到現在為演繹資料庫發展的第三階段,這一階段出現了一些試驗性的系統,但還沒有商品化的演繹資料庫系統投入到市場,因而演繹資料庫也沒有得到真正的套用。
基本結構
演繹資料庫由三部分組成:
(1)
傳統資料庫管理。由於演繹資料庫建立在傳統資料庫之上,因此傳統資料庫是演繹資料庫的基礎。
(2)具有對一階謂詞邏輯進行推理的演繹結構,這是演繹
資料庫全部功能特色所在,推理功能由此結構完成。
(3)
資料庫與推理機構的接口 由於演繹結構是邏輯的,而資料庫是非邏輯的,因此必須有一個接口實現物理上的連線。
理論研究
演繹資料庫是一種新的資料庫技術,其本質仍然是資料庫。雖然演繹資料庫的理論研究取得了很大的成就,但還需要不斷完善,儘快實現商品化。
建立理論體系
建立一個較為理想的演繹資料庫理論體系。雖然全一階理論為演繹資料庫提供嚴密的理論基礎,但由於實現起來比較困難,效率低下,因此需要尋找一種相對合理的理論,以指導演繹資料庫的發展。
並行推理與分散式演繹資料庫
關於並行邏輯程式或分散式演繹資料庫的理論模型及其語義問題至今還沒有徹底弄清楚,但是已經有人從
度量空間和
拓撲學角度出發,並取得某些初步成果。
利用人工智慧
應嘗試更多地利用人工智慧的思想和技術。演繹資料庫是人工智慧與資料庫技術相結合的一種技術,但目前的演繹資料庫只用了人工智慧中演繹邏輯推理的某些概念,實際上人工智慧還有很多思想和技術可供演繹資料庫借鑑。
引入高階邏輯
雖然一階邏輯可以提供比較嚴密的理論基礎,但是高階邏輯卻具有更強的表達能力,所以不放在演繹資料庫中引入高階邏輯。
特殊類型演繹資料庫
已經出現了兩種非常重要的演繹資料庫,一種是層疊式演繹資料庫,另一種是與域無關的演繹資料庫。
實現方法
對演繹資料庫的研究始於20世紀70年代後期,對它的研究分為兩個方面:數學模型和實現方法。
在演繹資料庫中往往用證明理論作為其實現的數學模型,在證明理論中,演繹資料庫可視為一個一階謂詞演算的公理系統,包括:
(1)公理:一階謂詞演算公式;
(2)定理:有公理通過證明而獲得的一階謂詞演算公式;
(3)證明:有公理經推理而得到定理的證明工具。
目前實現演繹資料庫的方法有三種:
PROLOG語言
由於
PROLOG語言是一種基於證明理論的語言,因此用它來實現從理論上是完全可行的。用PROLOG語言表示演繹資料庫不需要編制專門的系統軟體,從而實現工作變得極為簡單。將傳統資料庫與演繹結構均用證明理論方法表示,這樣,整個演繹資料庫也變得極為簡單。但由於PROLOG語言本身的弱點(效率低),因此用它來有效完整地表示一個演繹資料庫還需進一步改造。這方面的工作主要集中在兩點:
(1)功能上改進,在PROLOG中增加資料庫的功能,以適應對數據的處理要求;
(2)效率上的提高,改進PROLOG的搜尋速度,以大大提高它的效率。
DBMS+RULE
目前著名的
SQL和INGRESE都已經實現了演繹功能。其中RULE部分需要完成推理與接口兩部分功能。推理部分由演繹結構完成;接口部分的功能是將推理中的邏輯表示轉換為給定DBMS中的數據描述與數據操縱語言中的語句。當用戶查詢演繹資料庫時,如果涉及到的是實關係,則如同通常的資料庫查詢一樣處理;如果涉及的是虛關係,則由規則處理部分的演繹結構將其轉換成對實關係的查詢,最後通過DBMS的查詢結構完成,將最終結果提交給用戶。
專用軟體
利用專用軟體來實現,這種方法必須一切從頭開始,研製周期長且工作量大,所以並不實用。
資料庫區別
演繹資料庫與智慧型資料庫
1.聯繫。兩者均屬於資料庫範圍,都是人工智慧與資料庫的結合,吸取了
人工智慧的成功技術的成果。
2.區別。演繹資料庫雖然也含有規則,但含有的規則較少,數據量較大;至於智慧型資料庫不僅套用人工智慧中的
邏輯推理思想,而且還套用人工智慧中自然語言理解、語言識別,圖像、文字處理等多種方法與技術於資料庫,以求得更多的功能、性能的改善與提高。因此,從某種程度上來講,演繹資料庫是智慧型資料庫的一部分。