Logic and Databases
Minker, Jack, AI Magazine
At a workshop held in Toulouse, France, in 1977, Gallaire, Minker, and Nicolas stated that logic and databases was a field in its own right. This was the first time that this designation was made. The impetus for it started approximately 20 years ago in 1976 when I visited Gallaire and Nicolas in Toulouse, France. In this article, I provide an assessment about what has been achieved in the 20 years since the field started as a distinct discipline. I review developments in the field, assess contributions, consider the status of implementations of deductive databases, and discuss future work needed in deductive databases.
The use of logic and deduction in databases, as noted in Minker (1988b), started in the late 1960s. Prominent among developments was work by Levien and Maron (1965) and Kuhns (1967), and by Green and Raphael (1968a), who were the first to realize the importance of the Robinson (1965) resolution principle for databases. For early uses of logic in databases, see Minker (1988b), and for detailed descriptions of many accomplishments made in the 1960s, see Minker and Sable (1970).
A major influence on the use of logic in databases was the development of the field of logic programming: Kowalski (1974) promulgated the concept of logic as a programming language, and Colmerauer and his students developed the first Prolog interpreter (Colmerauer et al. 1973). I refer to logic programs that are function free as deductive databases (DDBs), or as datalog. I do so because databases are finite structures. Most of the results discussed can be extended to include logic programming.
The impetus for the use of logic in databases came about through meetings in 1976 in Toulouse, France, when I visited Herve Gallaire and Jean-Marie Nicolas while on sabbatical. The idea of a workshop on logic and databases was also conceived at this time. It is clear that a number of other individuals also had the idea of using logic as a mechanism to handle databases and deduction, and they were invited to participate in the workshop. The book Logic and Data Bases (1978), edited by Gallaire and Minker, was highly influential in the development of the field, as were the two volumes of Advances in Database Theory (Gallaire, Minker, and Nocholas 1984a, 1981) that were the result of two subsequent workshops held in Toulouse. Another influential development was the article by Gallaire, Minker, and Nicolas (1984b), which surveyed work in the field to that point.
The use of logic in databases was received by the database community with a great deal of skepticism: Was deductive databases (DDBs) a field? Did DDBs contribute to database theory or practice (Harel 1980)? The accomplishments I cite in this article are testaments to the fact that logic has contributed significantly both to the theory and the practice of databases. It is clear that logic has everything to do with the theory of databases, and many of those who were then critical of the field have changed their position. In the remainder of this article, I describe what I believe to be the major intellectual developments in the field, the status of commercial implementations, and future trends. As we see, the field of logic and databases has been prolific.
Intellectual Contributions of Deductive Databases
In 1970, Codd (1970) formalized databases in terms of the relational calculus and the relational algebra. He provided a logic language and the relational calculus and described how to compute answers to questions in the relational algebra and the relational calculus. Both the relational calculus and the relational algebra provide declarative formalisms to specify queries. This was a significant advance over network and hierarchic systems (Ullman 1989, 1988), which only provided procedural languages for databases. The relational algebra and the relational calculus permitted individuals who were not computer specialists to write declarative queries and have the computer answer the queries. …