演繹データベースとは、データベースに格納されたルールと事実に基づいて推論(つまり、追加の事実を結論付ける)を行うことができるデータベースシステムです。Datalogは、演繹データベースで事実、ルール、クエリを指定するために一般的に使用される言語です。演繹データベースは、論理プログラミングとリレーショナルデータベースを組み合わせて、強力な形式体系をサポートしつつ、高速で非常に大規模なデータセットを処理できるシステムを構築したいという要望から生まれました。演繹データベースは、リレーショナルデータベースよりも表現力に優れていますが、Prologなどの論理プログラミングシステムよりは表現力に劣ります。近年、演繹データベースは、データ統合、情報抽出、ネットワーク、プログラム分析、セキュリティ、クラウドコンピューティングなどの分野で新たな応用が見出されています。[ 1 ]
演繹データベースは論理プログラミングの多くの概念を再利用しています。Datalogで指定されるルールと事実はPrologで書かれたものと非常によく似ていますが[ 2 ]、重要な違いがいくつかあります。
- 順序の感度と手続き性: Prolog では、プログラムの実行はプログラム内のルールの順序とルールのパートの順序に依存します。これらの特性は、プログラマが効率的なプログラムを構築するために使用します。しかし、データベース言語 (SQL や Datalog など) では、[ 3 ]プログラムの実行はルールと事実の順序に依存しません。
- 特殊述語:Prologでは、プログラマーはcutなどの特殊述語を用いて、プログラムの手続き的評価に直接影響を与えることができます。これは演繹データベースには対応するものがありません。
- 関数記号:論理プログラミング言語では、関数記号を用いて複雑な記号を構築できます。これは演繹型データベースでは認められていません。
- タプル指向処理:演繹型データベースはセット指向処理を使用する一方、論理プログラミング言語は一度に1つのタプルに焦点を当てます。
参考文献
- ↑データログと新たなアプリケーション
- ↑ Maier, David; Tekle, K. Tuncay; Kifer, Michael; Warren, David S. (2018-09-01)、「Datalog: 概念、歴史、展望」、Declarative Logic Programming: Theory, Systems, and Applications、第20巻 、Association for Computing MachineryおよびMorgan & Claypool、pp. 3–100、doi : 10.1145/3191315.3191317、ISBN 978-1-970001-99-02025年1月6日取得
- ↑"People Search: How It Works". veripages.com. Retrieved 2025-01-07.
Further reading
- Author: Herve Gallaire, Jack Minker, Jean-Marie Nicolas: Logic and Databases: A Deductive Approach. Publisher: ACM. doi:10.1145/356924.356929
- Author: Stefano Ceri, Georg Gottlob, Letizia Tanca: Logic Programming and Databases. Publisher: Springer-Verlag. ISBN 978-0-387-51728-5
- Author: Ramez Elmasri and Shamkant Navathe: Fundamentals of Database Systems (3rd edition). Publisher: Addison-Wesley Longman. ISBN 0-201-54263-3