Abstract
We investigate the properties of a simple programming language whose main computational engine is structural recursion on sets. We describe a progression of sublanguages in this paradigm that (1) have increasing expressive power, and (2) illustrate robust conceptual restrictions thus exhibiting interesting additional properties. These properties suggest that we consider our sublanguages as candidates for “query languages”. Viewing query languages as restrictions of our more general programming language has several advantages. First, there is no “impedance mismatch” problem; the query languages are already there, so they share common semantic foundation with the general language. Second, we suggest a uniform characterization of nested relational and complex-object algebras in terms of some surprisingly simple operators;and we can make comparisons of expressiveness in a general framework. Third, we exhibit differences in expressive power that are not always based on complexity arguments, but use the idea that a query in one language may not be polymorphically expressible in another. Fourth, ideas of category theory can be profitably used to organize semantics and syntax, in particular our minimal (core) language is a well-understood categorical construction: a cartesian category with a strong monad on it. Finally, we bring out an algebraic perspective, that is, our languages come with equational theories, and categorical ideas can be used to derive a number of rather general identities that may serve as optimizations or as techniques for discovering optimizations.
The authors were partially supported by grants ONR NOOO-14-88-K-0634, NSF CCR-90-57570, NSF IRI-86-10617 and ARO DAAL03-89-C-0031PRIME. Peter Buneman was also supported by a SERC visiting research fellowship at Imperial College, London.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
S. Abiteboul, C. Beeri, M. Gyssens, and D. Van Gucht. An Introduction to the Completeness of Languages for Complex Objects and Nested Relations. In S. Abiteboul, P. C. Fisher, and H.-J. Schek, editors, LNCS 361: Nested Relations and Complex Objects in Databases, pages 117–138. Springer-Verlag, 1987.
Serge Abiteboul and Catriel Beeri. On the Power of Languages for the Manipulation of Complex Objects. In Proceedings of International Workshop on Theory and Applications of Nested Relations and Complex Objects, Darmstadt, 1988.
Catriel Beeri and Yoran Kornatzky. Algebraic Optimisation of Object Oriented Query Languages. In S. Abiteboul and P. C. Kanellakis, editors, LNCS 470: 3rd International Conference on Database Theory, Paris, France, December 1990, pages 72–88, Berlin, December 1990. Springer-Verlag.
V. Breazu-Tannen, P. Buneman, and S. Naqvi. Structural Recursion as a Query Language. In Proceedings of 3rd International Workshop on Database Programming Languages, pages 9–19, Nahplion, Greece, August 1991. Morgan Kaufmann.
V. Breazu-Tannen, P. Buneman, and L. Wong. Naturally Embedded Query Languages. Technical Report MS-CIS-92-47/L&C 47, Department of Computer and Information Science, University of Pennsylvania, June 1992.
V. Breazu-Tannen and A. R. Meyer. Lambda calculus with constrained types (extended abstract). In R. Parikh, editor, Proceedings of the Conference on Logics of Programs, Brooklyn, June 1985, pages 23–40. Lecture Notes in Computer Science, Vol. 193, Springer-Verlag, 1985.
V. Breazu-Tannen and R. Subrahmanyam. Logical and Computational Aspects of Programming with Sets/Bags/Lists. In LNCS 510: Proceedings of 18th International Colloquium on Automata, Languages, and Programming, Madrid, Spain, July 1991, pages 60–75. Springer Verlag, 1991.
O. P. Buneman, R. Nikhil, and R. E. Frankel. An Implementation Technique for Database Query Languages. ACM Transactions on Database Systems, 7(2):164–187, June 1982.
Ashok Chandra and David Harel. Structure and Complexity of Relational Queries. Journal of Computer and System Sciences, 25:99–128, 1982.
Latha S. Colby. A Recursive Algebra for Nested Relations. Information Systems, 15(5):567–582, 1990.
Marc Gyssens and Dirk Van Gucht. A Comparison Between Algebraic Query Languages for Flat and Nested Databases. Theoretical Computer Science, 87:263–286, 1991.
Richard Hull and Jianwen Su. On the Expressive Power of Database Queries with Intermediate Types. Journal of Computer and System Sciences, 43:219–267, 1991.
Neil Immerman, Sushant Patnaik, and David Stemple. The Expressiveness of a Family of Finite Set Languages. In Proceedings of 10th ACM Symposium on Principles of Database Systems, pages 37–52, 1991.
J. Lambek and P. J. Scott. Introduction to Higher Order Categorical Logic. Cambridge University Press, 1986.
Eugenio Moggi. Notions of Computation and Monads. Information and Computation, 93:55–92, 1991.
A. Ohori, P. Buneman, and V. Breazu-Tannen. Database Programming in Machiavelli: A Polymorphic Language with Static Type Inference. In James Clifford, Bruce Lindsay, and David Maier, editors, Proceedings of ACM-SIGMOD International Conference on Management of Data, pages 46–57, Portland, Oregon, June 1989.
Jan Paredaens and Dirk Van Gucht. Possibilities and Limitations of Using Flat Operators in Nested Algebra Expressions. In Proceedings of 7th ACM Symposium on Principles of Database Systems, Austin, Texas, pages 29–38, 1988.
H.-J. Schek and M. H. Scholl. The Relational Model with Relation-Valued Attributes. Information Systems, 11(2):137–147, 1986.
S. J. Thomas and P. C. Fischer. Nested Relational Structures. In P. C. Kanellakis, editor, Advances in Computing Research: The Theory of Databases, pages 269–307. JAI Press, 1986.
P. W. Trinder. Comprehension: A Query Notation for DBPLs. In Proceedings of 3rd International Workshop on Database Programming Languages, pages 49–62, Nahplion, Greece, August 1991. Morgan Kaufmann.
P. W. Trinder and P. L. Wadler. List Comprehensions and the Relational Calculus. In Proceedings of 1988 Glasgow Workshop on Functional Programming, pages 115–123, Rothesay, Scotland, August 1988.
Philip Wadler. Comprehending Monads. In Proceedings of ACM Conference on Lisp and Functional Programming, Nice, June 1990.
David A. Watt and Phil Trinder. Towards a Theory of Bulk Types. Fide Technical Report 91/26, Glasgow University, Glasgow G12 8QQ, Scotland, July 1991.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Breazu-Tannen, V., Buneman, P., Wong, L. (1992). Naturally embedded query languages. In: Biskup, J., Hull, R. (eds) Database Theory — ICDT '92. ICDT 1992. Lecture Notes in Computer Science, vol 646. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56039-4_38
Download citation
DOI: https://doi.org/10.1007/3-540-56039-4_38
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-56039-5
Online ISBN: 978-3-540-47360-2
eBook Packages: Springer Book Archive