An amateur's introduction to recursive query processing strategies
SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
A translation language complete for database update and specification
PODS '87 Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
ACM Transactions on Database Systems (TODS)
Skolem normal forms concerning the least fixpoint
Computation theory and logic
Towards a theory of declarative knowledge
Foundations of deductive databases and logic programming
Negation as failure using tight derivations for general logic programs
Foundations of deductive databases and logic programming
On the declarative semantics of deductive databases and logic programs
Foundations of deductive databases and logic programming
On the declarative and procedual semantics of logic programs
Journal of Automated Reasoning
Untyped sets, invention, and computable queries
PODS '89 Proceedings of the eighth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Proceedings of the seventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Proceedings of the seventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Procedural and declarative database update languages
Proceedings of the seventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Equivalence of Relational Algebra and Relational Calculus Query Languages Having Aggregate Functions
Journal of the ACM (JACM)
Programming primitives for database languages
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The complexity of relational query languages (Extended Abstract)
STOC '82 Proceedings of the fourteenth annual ACM symposium on Theory of computing
Languages which capture complexity classes
STOC '83 Proceedings of the fifteenth annual ACM symposium on Theory of computing
A non-deterministic deductive database language
SIGMOD '91 Proceedings of the 1991 ACM SIGMOD international conference on Management of data
An annotated bibliography on object-orientation and deduction
ACM SIGMOD Record
G-Log: A Graph-Based Query Language
IEEE Transactions on Knowledge and Data Engineering
ILOG: Declarative Creation and Manipulation of Object Identifiers
VLDB '90 Proceedings of the 16th International Conference on Very Large Data Bases
Hi-index | 0.01 |
The expressive power of pure deductive database languages, such as DATALOG and stratified DATALOGS, is limited in a sense that some useful queries such as functions involving aggregation are not definable in these languages. Our concern in this paper is to provide a uniform logic framework for deductive databases with greater expressive power. It has been shown that with a linear ordering on the domain of the database, the expressive power of some database languages can be enhanced so that some functions involving aggregation can be defined. Yet, a direct implementation of the linear ordering in deductive database languages may seem unintuitive, and may not be very efficient to use in practice. We propose a logic for deductive databases which employs the notion of “identifying each tuple in a relation”. Through the use of these tuple-identifications, different linear orderings are defined as a result. This intuitively explains the reason why our logic has greater expressive power. The proposed logic language is non-deterministu in nature. However, non-determinism is not the real reason for the enhanced expressive power. A deterministic subset of the programs in this language is computational complete in the sense that it defines all the computable deterministic queries. Although the problem of deciding whether a program is in this subset is in general undecidable, we do provide a rather general sufficient test for identifying such programs. Also discussed in this paper is an extended notion of queries which allows both the input and the output of a query to contain interpreted constants of an infinite domain. We show that extended queries involving aggregation can also be defined in the language.