Abstract
High level languages of limited expressiveness have been shown to be very effective in reducing the difficulty of specifying computations, both queries and updates, over databases. The most notable of these are relational algebra and SQL (including its update language). The main problem of these languages is not their limited computational power, but rather that their formality (or lack of it) makes it hard to uniformly integrate them with more powerful relational operations, e. g., transitive closure or least fixpoint operators, and with the operations of other algebras, such as arithmetic and abstract data type algebras. Such problems not only make it difficult to extend the languages felicitously, but reasoning about the properties of integrity constraints and transactions in these languages is much more difficult than is necessary. In this paper, we present a single high level set traversal construct that provides the formal and computational base for relational algebra, associative updates, aggregate functions, nested relations, transitive closure, and complex objects. This construct is not a new construct, but is formalized in a novel manner, and has not been shown previously to support the range of functions to which it is applied here. We also explore a means of using a generalization of this operator to capture formal properties of some computations on complex objects with identifiers and recursively typed data that might be appropriate for database languages.
This work was supported by the National Science Foundation under grants IRI-8606424 and IRI 8822121, and by the Office of Naval Research University Research Initiative contract, number N00014-86-K-0764.
Preview
Unable to display preview. Download preview PDF.
References
S. Abiteboul and V. Vianu. Procedural and Declarative Database Update Languages, Proceedings of the Seventh ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, Austin, Texas, 1988, pps. 240–250.
R. S. Boyer and J. S. Moore. A Computational Logic, Academic Press, New York, 1979.
A. Chandra. Programming Primitives for Database Languages, Proceedings of the Eighth ACM Symposium on Principles of Programming Languages, 1981, pps. 50–62.
L. S. Colby. A Recursive Algebra and Query Optimization for Nested Relations, Proceedings of the ACM-SIGMOD International Conference on Management of Data, Portland, Oregon, 1989, pps. 273–283.
N. Immerman. Languages that Capture Complexity Classes, SIAM Journal of Computing, August, 1987, Vol. 16, No. 4, pps. 760–778.
G. Jaeschke and H. Schek. Remarks on the Algebra of Non First Normal Form Relations, Proceedings of the First ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, Los Angeles, California, 1982, pps. 124–137.
S. N. Khoshafian and G. P. Copeland. Object Identity, Proceedings of the Object-Oriented Programming Systems, Languages and Applications Conference, Portland, Oregon, 1986, pps. 406–416.
A. Ohori, P. Buneman, and V. Breazu-Tannen. Database Programming in Machiavelli — A Polymorphic Language with Static Type Inference, Proceedings of the ACM-SIGMOD International Conference on Management of Data, Portland, Oregon, 1989, pps. 46–57.
X. Qian. On the Expressive Power of the Bounded Iteration Construct, Proceedings of the Second International Workshop on Database Programming Languages, Salishan, Oregon, R. Hull, R. Morrison, and D. Stemple (Eds.), Morgan Kaufman, 1989, pps. 411–421.
T. Sheard. Automatic Generation and Use of Abstract Structure Operators, submitted to a journal.
T. Sheard and D. Stemple. Automatic Verification of Database Transaction Safety, ACM Transactions on Database Systems, September, 1989, Vol. 12, No. 3, pps. 322–368.
D. Stemple, L. Fegaras, T. Sheard, and A. Socorro. Exceeding the Limits of Polymorphism in Database Programming Languages, Advances in Database Technology — EDBT '90, International Conference on Extending Database Technology, Proceedings, Lecture Notes in Computer Science 416, F. Bancilhon, C. Thanos, D. Tsichritzis (Eds.), Venice, Italy, Springer-Verlag, March, 1990, pps. 269–285.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Stemple, D., Sheard, T. (1991). A recursive base for database programming primitives. In: Schmidt, J.W., Stogny, A.A. (eds) Next Generation Information System Technology. EWDW 1990. Lecture Notes in Computer Science, vol 504. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54141-1_17
Download citation
DOI: https://doi.org/10.1007/3-540-54141-1_17
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54141-7
Online ISBN: 978-3-540-47444-9
eBook Packages: Springer Book Archive