On the expressive power of query languages for relational databases

Eric C. Cooper
1982 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '82  
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. Fhst, 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
more » ... e 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.
doi:10.1145/582153.582190 dblp:conf/popl/Cooper82 fatcat:onftmtsrpfgl3l6has3n7ieibm