Datalog; a self-contained tutorial (Part 1)
Datalog is a database query language based on the logic programming paradigm; it has been designed and intensively studied through the last five years. We present the syntax and semantics of Datalog and its use for querying a relational database. Then, we classify optimization methods for achieving efficient evaluations of Datalog queries, and present the most relevant methods. Finally, we discuss various exhancements of Datalog, currently under study, and indicate what is still needed in order to extend Datalog`s applicability to the solution of real-lift problems. The aim of this paper is to provide a self-contained tutorial, addressed also to those members of the database community, who are not too familiar with logic programming concepts. The paper is divided into two parts. Part 1 contains Sections 1, 2, 3, and the bibliography. In Section 2 we present the foundations of Datalog; in Section 3 we explain how Datalog is used as a query language over relational databases. Part 2 is thus organized: Section 4 presents a taxonomy of the various optimization methods; in Section 5, we introduce some representative evaluation methods and optimization techniques. In Section 6, we present several formal extensions to Datalog. Finally, in Section 7 we attempt an evaluation of what will be required to Datalog in order to become more attractive and usable. 74 refs., 3 figs.
- OSTI ID:
- 274114
- Journal Information:
- Programming and Computer Software, Journal Name: Programming and Computer Software Journal Issue: 4 Vol. 17; ISSN PCSODA; ISSN 0361-7688
- Country of Publication:
- United States
- Language:
- English
Similar Records
Commentary on the second part of {open_quotes}Datalog: An exhaustive survey{close_quotes}
Finite representation of infinite query answers