HOME

TheInfoList



OR:

A deductive database is a database system that can make deductions (i.e. conclude additional facts) based on
rules Rule or ruling may refer to: Human activity * The exercise of political or personal control by someone with authority or power * Business rule, a rule pertaining to the structure or behavior internal to a business * School rule, a rule tha ...
and
fact A fact is a truth, true data, datum about one or more aspects of a circumstance. Standard reference works are often used to Fact-checking, check facts. Science, Scientific facts are verified by repeatable careful observation or measurement by ...
s stored in its database. Datalog is the language typically used to specify facts, rules and queries in deductive databases. Deductive databases have grown out of the desire to combine
logic programming Logic programming is a programming, database and knowledge representation paradigm based on formal logic. A logic program is a set of sentences in logical form, representing knowledge about some problem domain. Computation is performed by applyin ...
with
relational database A relational database (RDB) is a database based on the relational model of data, as proposed by E. F. Codd in 1970. A Relational Database Management System (RDBMS) is a type of database management system that stores data in a structured for ...
s to construct systems that support a powerful formalism and are still fast and able to deal with very large datasets. Deductive databases are more expressive than relational databases but less expressive than logic programming systems such as
Prolog Prolog is a logic programming language that has its origins in artificial intelligence, automated theorem proving, and computational linguistics. Prolog has its roots in first-order logic, a formal logic. Unlike many other programming language ...
. In recent years, deductive databases have found new application in
data integration Data integration refers to the process of combining, sharing, or synchronizing data from multiple sources to provide users with a unified view. There are a wide range of possible applications for data integration, from commercial (such as when a ...
, information extraction, networking,
program analysis In computer science, program analysis is the process of analyzing the behavior of computer programs regarding a property such as correctness, robustness, safety and liveness. Program analysis focuses on two major areas: program optimization an ...
, security, and
cloud computing Cloud computing is "a paradigm for enabling network access to a scalable and elastic pool of shareable physical or virtual resources with self-service provisioning and administration on-demand," according to International Organization for ...
. Deductive databases reuse many concepts from logic programming; rules and facts specified in Datalog look very similar to those written in Prolog, but there are some important differences: * Order sensitivity and procedurality: In Prolog, program execution depends on the order of rules in the program and on the order of parts of rules; these properties are used by programmers to build efficient programs. In database languages (like SQL or Datalog), however, program execution is independent of the order of rules and facts. * Special predicates: In Prolog, programmers can directly influence the procedural evaluation of the program with special predicates such as the cut. This has no correspondence in deductive databases. * Function symbols: Logic programming languages allow function symbols to build up complex symbols. This is not allowed in deductive databases. *
Tuple In mathematics, a tuple is a finite sequence or ''ordered list'' of numbers or, more generally, mathematical objects, which are called the ''elements'' of the tuple. An -tuple is a tuple of elements, where is a non-negative integer. There is o ...
-oriented processing: Deductive databases use set-oriented processing, while logic programming languages concentrate on one tuple at a time.


References


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. * Author: Ramez Elmasri and Shamkant Navathe: ''Fundamentals of Database Systems'' (3rd edition). Publisher: Addison-Wesley Longman. Database management systems {{database-stub