A Formal System for Reasoning about Programs Accessing a Relational Database
ACM Transactions on Programming Languages and Systems (TOPLAS)
A relational model of data for large shared data banks
Communications of the ACM
Principles of Database Systems
Principles of Database Systems
Universality of data retrieval languages
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Computable queries for relational data bases (Preliminary Report)
STOC '79 Proceedings of the eleventh annual ACM symposium on Theory of computing
Processing queries with quantifiers a horticultural approach
PODS '83 Proceedings of the 2nd ACM SIGACT-SIGMOD symposium on Principles of database systems
Impacts of logic and databases (invited paper)
VLDB '81 Proceedings of the seventh international conference on Very Large Data Bases - Volume 7
Hi-index | 0.00 |
The query languages used in relational database systems are a special class of programming languages. The majority, based on first-order logic, lend themselves to analysis using formal methods. First, we provide a definition of relational query languages and their expressive power. We prove some general results and show that only a proper subset of first-order logic formulas may be used as a practical query language. We characterize this subset in both semantic and syntactic terms. We then analyze the expressive power of several real query languages, including languages based on the relational calculus, languages with set operators and aggregate functions, and procedural query languages.Since the partial ordering "is more expressive than" determines a lattice among relational query languages, the results of the paper may be viewed as determining some of the structure of this lattice. We conclude with some applications of the results to the optimization problem for query processing.