A recursive base for database programming primitives

  • David Stemple
  • Tim Sheard
Extending Functionality
Part of the Lecture Notes in Computer Science book series (LNCS, volume 504)


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.


Transitive Closure Integrity Constraint Relational Algebra Recursive Structure Nest Relation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AV88]
    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.Google Scholar
  2. [BM79]
    R. S. Boyer and J. S. Moore. A Computational Logic, Academic Press, New York, 1979.Google Scholar
  3. [C81]
    A. Chandra. Programming Primitives for Database Languages, Proceedings of the Eighth ACM Symposium on Principles of Programming Languages, 1981, pps. 50–62.Google Scholar
  4. [C89]
    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.Google Scholar
  5. [I87]
    N. Immerman. Languages that Capture Complexity Classes, SIAM Journal of Computing, August, 1987, Vol. 16, No. 4, pps. 760–778.Google Scholar
  6. [JS82]
    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.Google Scholar
  7. [KC86]
    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.Google Scholar
  8. [OBB89]
    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.Google Scholar
  9. [Q89]
    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.Google Scholar
  10. [S90]
    T. Sheard. Automatic Generation and Use of Abstract Structure Operators, submitted to a journal.Google Scholar
  11. [SS89]
    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.Google Scholar
  12. [SFSS90]
    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.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • David Stemple
    • 1
  • Tim Sheard
    • 1
  1. 1.Department of Computer and Information ScienceUniversity of MassachusettsAmherst

Personalised recommendations