Deductive database

Deductive database

It is a database system which can make deductions (i.e.: conclude additional facts) based on rules and facts stored in the (deductive) 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 with relational databases 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. Deductive databases have not found widespread adoptions outside academia, but some of their concepts are used in today's relational databases to support the advanced features of more recent SQL standards.

Deductive databases and logic programming

Deductive databases reuse a large number of concepts from logic programming; rules and facts specified in the deductive database language Datalog look very similar to those in Prolog. However, there are a number of important differences between deductive databases and logic programming:

  • 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 oriented processing: Deductive databases use set-oriented processing while logic programming languages concentrate on one tuple at a time.

References

Further reading

  • Author: Stefano Ceri, Georg Gottlob, Letizia Tanca: Logic Programming and Databases. Publisher: Springer-Verlag. ISBN 978-0387517285
  • Author: Ramez Elmasri and Shamkant Navathe: Fundamentals of Database Systems (3rd edition). Publisher: Addison-Wesley Longman. ISBN 0-201-54263-3

Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Database theory — encapsulates a broad range of topics related to the study and research of the theoretical realm of databases and database management systems. Theoretical aspects of data management include, among other areas, the foundations of query languages,… …   Wikipedia

  • Deductive language — A deductive language is a computer programming language in which the program is a collection of predicates ( facts ) and rules that connect them. Such a language is used to create knowledge based systems or expert systems which can deduce answers …   Wikipedia

  • Database model — A database model is the theoretical foundation of a database and fundamentally determines in which manner data can be stored, organized, and manipulated in a database system. It thereby defines the infrastructure offered by a particular database… …   Wikipedia

  • Database system — A database system is a term that is typically used to encapsulate the constructs of a data model, database Management system (DBMS) and database.[1] A database is an organised pool of logically related data. Data is stored within the data… …   Wikipedia

  • Object database — Example of an object oriented model.[1] An object database (also object oriented database management system) is a database management system in which information is represented in the form of objects as used in object oriented programming. Object …   Wikipedia

  • Object-relational database — An object relational database (ORD), or object relational database management system (ORDBMS), is a database management system (DBMS) similar to a relational database, but with an object oriented database model: objects, classes and inheritance… …   Wikipedia

  • Document-oriented database — A document oriented database is a computer program designed for storing, retrieving, and managing document oriented, or semi structured data, information. Document oriented databases are one of the main categories of so called NoSQL databases and …   Wikipedia

  • XML database — An XML database is a data persistence software system that allows data to be stored in XML format. This data can then be queried, exported and serialized into the desired format. Two major classes of XML database exist: XML enabled: these map all …   Wikipedia

  • Comparison of object database management systems — Features Information about what fundamental ODBMS features are implemented natively. Name Current Stable Version Language(s) SQL support Datatypes License Description Caché 2010.1.4 ObjectScript (dynamic language), Basic. Java/.NET object mapping …   Wikipedia

  • View (database) — Представление (англ. view, в сленге программистов часто используется в качестве заимствования из английского «вью») виртуальная (логическая) таблица, представляющая собой поименованный запрос (алиас к запросу), который будет подставлен как… …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”