Algebraic optimization of object-oriented query languages

  • Catriel Beeri
  • Yoram Kornatzky
Object-Oriented Databases
Part of the Lecture Notes in Computer Science book series (LNCS, volume 470)


Advanced database applications demand new data modeling constructs beyond those available in relational databases. These include both new data structures, e.g. arrays and quadtrees, and an integration with the object-oriented programming paradigm. Declarative object-oriented languages transfer the burden of choosing an efficient execution plan to the database query optimizer. The lack of a generally accepted object-oriented data model and the trend towards extensible systems demand an extensible framework for object-oriented query optimization. We suggest such an algebraic optimization framework which is based on the computational metaphor of processing bulk data. Bulk data is defined using an abstract definition of the notion of data collection which includes familiar and novel types of bulk data. In particular, we neatly integrate object-oriented notions such as object-identity and user-defined methods. To obtain generally applicable results we use an FP-like language in which programs are constructed from primitive functions using a fixed set of functional forms. The latter abstract common patterns of processing data collections. The resulting algebra of programs generalizes for any data collection known laws for transforming relational queries.


Query Optimization Type Constructor Composite Type Relational Query Bulk Data 
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. [1]
    S. Abiteboul. Towards a deductive object-oriented database language. In Proc. First Intl. Conf on Deductive and Object-oriented databases, pages 419–438, Kyoto, Japan, December 1989.Google Scholar
  2. [2]
    S. Abiteboul and R. Hull. IFO: a formal semantic database model. ACM Transactions on Database Systems, 12(4):525–565, December 1987.CrossRefGoogle Scholar
  3. [3]
    F.E. Allen and J. Cocke. A catalogue of optimizing transformations. In R. Rustin, editor, Design and optimization of compilers, pages 1–30, Prentice-Hall, 1971.Google Scholar
  4. [4]
    J. Backus. Can programming be liberated from the von Neumann style? A functional style and its algebra of programs. Communications of the ACM, 21(8):613–641, August 1978.CrossRefGoogle Scholar
  5. [5]
    F. Bancilhon, T. Briggs, S. Khoshafian, and P. Valduriez. FAD, a powerful and simple database language. In Proc. Intl. Conf. on Very Large Databases, pages 97–105, 1987.Google Scholar
  6. [6]
    J. Banerjee, W. Kim, and K.-C. Kim. Queries in object-oriented databases. In Proc. Intl. Conf. on Data Engineering, February 1988.Google Scholar
  7. [7]
    D.S. Batory, J.R. Barnett, J.F. Garza, K.P. Smith, K. Tsukuda, B.C. Twichell, and T.E. Wise. GENESIS: a project to develop and extesible database management system. In Proc. of the Intl. Workshop on Object-Oriented Database Systems, pages 207–208, 1986.Google Scholar
  8. [8]
    O.P. Buneman and R.E. Frankel. FQL — a functional query language. In ACM SIGMOD Intl. Conf. on Management of Data, pages 52–57, 1979.Google Scholar
  9. [9]
    R.M. Burstall and J. Darlington. A transformation system for transforming recursive programs. Journal of the ACM, 24(1):44–67, January 1977.CrossRefGoogle Scholar
  10. [10]
    M.J. Carey, D.J. DeWitt, D. Frank, G. Graefe, J.E. Richardson, E.J. Shekita, and M. Muralikrishna. The architecture of the EXODUS extensible DBMS. In Proc. of the Intl. Workshop on Object-Oriented Database Systems, pages 52–65, 1986.Google Scholar
  11. [11]
    M.J. Carey, D.J. DeWitt, and S.L. Vandenberg. A data model and query language for Exodus. In ACM SIGMOD Intl. Conf. on Management of Data, pages 413–423, 1988.Google Scholar
  12. [12]
    S. Cluet, C. Delobel, C. Lecluse, and P. Richard. Reloop, an algebra based query language for an object-oriented database system. In First Intl. Conf. on Deductive and Object-Oriented Databases, pages 294–313, Kyoto, Japan, December 1989.Google Scholar
  13. [13]
    U. Dayal. Of nests and trees: a unified approach to processing queries that contain nested subqueries, aggregates, and quantifiers. In Proc. Intl. Conf. on Very Large Data Bases, pages 197–208, 1987.Google Scholar
  14. [14]
    U. Dayal. Queries and views in an object-oriented data model. In Second Intl. Workshop on Database Programming Languages, pages 80–102, 1989.Google Scholar
  15. [15]
    J.C. Freytag. A rule-based view of query optimization. In ACM SIGMOD Intl. Conf. on Management of Data, pages 173–180, May 1987.Google Scholar
  16. [16]
    J.C. Freytag. Translating Relational Queries into Iterative Programs. PhD thesis, Harvard University, September 1985.Google Scholar
  17. [17]
    J.C. Freytag and N. Goodman. On the translation of relational queries into iterative programs. ACM Transactions on Database Systems, 14(1):1–27, March 1989.Google Scholar
  18. [18]
    J.S. Givler and R.B. Kieburtz. Schema recognition for program transformations. In ACM Symp. on Lisp and Functional Programming, pages 74–84, 1984.Google Scholar
  19. [19]
    J. Goguen, J. Thathcher, and E. Wagner. An initial algebra approach to the specification, correctness and implementation of abstract data types. In R. Yeh, editor, Current Trends in Programming Methodology, IV, pages 80–149, Prentice-Hall, 1978.Google Scholar
  20. [20]
    G. Graefe and D.J. DeWitt. The EXODUS optimizer generator. In ACM SIGMOD Intl. Conf. on Management of Data, pages 160–172, 1987.Google Scholar
  21. [21]
    A. Jhingran. A performance study of query optimization algorithms on a database system supporting procedures. In Proc. Intl. Conf. on Very Large Data Bases, pages 88–99, 1988.Google Scholar
  22. [22]
    W. Kim. On optimizing an SQL-like nested query. ACM Transactions on Database Systems, 7(3):443–469, September 1982.Google Scholar
  23. [23]
    B. Liskov, A. Snyder, R. Atinson, and C. Schaffert. Abstraction mechanisms in CLU. Communications of the ACM, 20(8):564–576, August 1977.Google Scholar
  24. [24]
    D. Maier, J. Stein, A. Otis, and A. Purdy. Development of an object-oriented DBMS. In OOPSLA'86 Proc., pages 472–482, ACM, New York, 1986.Google Scholar
  25. [25]
    P. O'Brien, B. Bullis, and C. Schaffert. Persistent and shared objects in Trellis/Owl. In Proc. First Intl. Workshop on Object-oriented Database Systems, September 186.Google Scholar
  26. [26]
    S.L. Osborn. Identity, equality and query optimization. In K.R. Dittrich, editor, Proc. Second Intl. Workshop on Object-Oriented Database Systems, pages 346–351, September 1988.Google Scholar
  27. [27]
    J.W. Schmidt. Some high level language constructs for data of type relation. ACM Transactions on Database Systems, 2(3):247–261, September 1977.CrossRefGoogle Scholar
  28. [28]
    G. Shaw and S. Zdonik. An object-oriented query algebra. Data Engineering, 12(3):29–36, September 1989.Google Scholar
  29. [29]
    M. Stonebraker, A. Anton, and E. Hanson. Extending a database system with procedures. ACM Transactions on Database Systems, 2(3):350–376, September 1987.Google Scholar
  30. [30]
    J.D. Ullman. Principles of Database and Knowledge-Base Systems. Computer Science Press, 1988.Google Scholar
  31. [31]
    P. Valduriez. Join indices. ACM Transactions on Database Systems, 12(2):218–452, June 1987.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Catriel Beeri
    • 1
    • 2
  • Yoram Kornatzky
    • 1
    • 3
  1. 1.The Hebrew UniversityJerusalemISRAEL
  2. 2.Department of Computer ScienceUSA
  3. 3.Leibniz Center for Research in Computer ScienceUSA

Personalised recommendations