This Article 
 Bibliographic References 
 Add to: 
Query Optimization and Execution Plan Generation in Object-Oriented Data Management Systems
April 1995 (vol. 7 no. 2)
pp. 210-227

Abstract—The generation of execution plans for object-oriented database queries is a new and challenging area of study. Unlike the relational algebra, a common set of object algebra operators has not been defined. Similarly, a standardized object manager interface analogous to storage manager interfaces of relational subsystems does not exist. We define the interface to an object manager whose operations are the executable elements of query execution plans. Parameters to the object manager interface are streams of tuples of object identifiers. The object manager can apply methods and simple predicates to the objects identified in a tuple. Two algorithms for generating such execution plans for queries expressed in an object algebra are presented. The first algorithm runs quickly but may produce inefficient plans. The second algorithm enumerates all possible execution plans and presents them in an efficient, compact representation.

[1] A. Albano,L. Cardellit,, and R. Orsini,“Galileo: A strongly-typed, interactive conceptual language,” ACM Trans. Database Systems, vol. 10, no. 2, pp. 230-260, June 1985.
[2] C. Beeri and Y. Kornatzky,“Algebraic optimization of object-oriented query languages,” Proc. Third Int’l Conf. Database Theory, pp. 72-88, Springer Verlag, 1990.
[3] C. Berge,Graphs and Hypergraphs, North-Holland, 1973.
[4] A. Black, N. Hutchinson, E. Jul, and H. Levy, “Object Structure in the Emerald System,” ACM SIGPLAN Notices, vol. 21, no. 11 pp. 78–86, Nov. 1986.
[5] L. Cardelli and P. Wegner, "On Understanding Types, Data Abstraction, and Polymorphism," ACM Computing Surveys, vol. 17, no. 4, pp. 471-522, 1985.
[6] M. Carey,D. DeWitt,J. Richardson,, and E. Shetika,“Object and file management in the EXODUS extensible database system,” Proc. 12th Int’l Conf. Very Large Databases, pp. 91-100, Aug. 1986.
[7] E.F. Codd,“A relational model of data for large shared data banks,” Comm. ACM, vol. 13, no. 6, June 1970.
[8] G. Copeland and D. Maier,“Making Smalltalk a database system,” Proc. ACM SIGMOD Int’l Conf. Management of Data, pp. 316-325, Aug. 1984.
[9] P. Dasgupta,R. LeBlanc,, and W. Appelbe,“The Clouds distributed operating system,” Proc. Eighth Int’l Conf. Distributed Computing Systems, pp. 2-17, June 1988.
[10] D. Decouchang,“Design of a distributed object manager for the Smalltalk-80 system,” Proc. OOPSLA’86 Conf., pp. 444-452, Sept. 1986.
[11] A. Ege and C.A. Ellis,“Design and implementation of GORDION, an object base management system,” Proc. Third Int’l Conf. Data Eng., pp. 226-234, May 1987.
[12] G. Gardarin and P. Valduriez,Relational Databases and Knowledge Bases, Addison Wesley, 1989.
[13] G. Graefe and D. Maier,“Query optimization in object-oriented database system: A prospectus,” Proc. Second Int’l Workshop Object-Oriented Database Systems, pp. 358-363, Springer Verlag, 1988.
[14] L.M. Haas,W.F. Cody,J.C. Freytag,G. Lapis,B.G. Lindsay,G.M. Lohman,K. Ono,, and H. Pirahesh,“Extensible query processing in Starburst,” Proc. ACM SIGMOD Int’l Conf. Management of Data, pp. 377-388, 1989.
[15] M.F. Hornick and S.B. Zdonik,“A shared, segmented memory system for an object-oriented database,” ACM Trans. Office Information Systems, vol. 5, no. 1, pp. 70-95, Jan. 1987.
[16] M. Jarke and J. Koch, “Query Optimization in Database Systems,” ACM Computer Surveys, vol. 16, pp. 111–152, 1984.
[17] T. Kaehler,“Virtual memory on a narrow machine for an object-oriented language,” OOPSLA’86 Conf. Proc., pp. 87-106, Sept. 1986.
[18] S.N. Khoshafian and G.P. Copeland, “Object Identity,” Proc. Int'l Conf. Object-Oriented Programming Systems Languages and Applications (OOPSLA '86), Sept. 1986.
[19] W. Kin,“A model of queries for object-oriented databases,” Proc. 15th Int’l Conf. Very Large Databases, pp. 423-432, 1989.
[20] W. Kim et al., "Integrating an object-oriented programming system with a database system," Proc. Conf. Object-Oriented Programming Systems, Languages, and Applications, pp. 142-152, 1988.
[21] J. Marques and P. Guedes,“Extending the operating system to support an object-oriented environment,” Proc. OOPSLA’89 Conf., pp. 113-122, Oct. 1989.
[22] K. Ono and G. Lohman,“Extensible enumeration of feasible joins for relational query optimization,” Technical Report RJ 6625 (63936), IBM Almaden Research Center, Dec. 1988.
[23] T.M. Ozsu and P. Valduriez, Principles of Distributed Database Systems. Prentice Hall, 1991.
[24] A. Rosenthal and D. Reiner,“An architecture for query optimization,” Proc. ACM SIGMOD Int’l Conf. Management of Data, pp. 246-255, 1982.
[25] M. Scholl and H. Schek,“A relational object model,” Proc. Third Int’l Conf. Database Theory, vol. 470, Lecture Notes in Computer Science, S. Abiteboul and P.C. Kanellakis, eds., pp. 89-105, Springer Verlag, 1990.
[26] P. Selinger,D. Astrahan,D. Chamberlin,R. Lorie,, and T. Price,“Access path selection in a relational database management system,” Proc. 1979 ACM-SIGMOD Int’l Conf. Management of Data, pp. 23-34,Boston, May 1979.
[27] G.M. Shaw and S.B. Zdonik, "An object-oriented query algebra," Bulletin IEEE technical committee on Data Engineering, vol. 12, no. 3, pp. 29-36, 1989.
[28] G. Shaw and S. Zdonik,“A query algebra for object-oriented databases,” Proc. Sixth Int’l Conf. Data Eng., pp. 154-162, Feb. 1990.
[29] M. Stefik and D.G. Bobrow, "Object-Oriented Programming: Themes and Variations," AI MAGAZINE, vol. 6, no. 4, Winter 1986, pp.40-62.
[30] M. Stonebraker and G. Kemnitz,"The POSTGRES next-generation database management system," Comm. ACM, vol. 34, no. 10, pp. 78-92, Oct. 1991.
[31] D.D. Straube,Queries and Query Processing in Object-Oriented Database Systems, PhD thesis, Univ. of Alberta, 1991.
[32] D.D. Straube and M.T. Özsu,“Query transformation rules for an object algebra,” Technical Report TR 89-23, Dept. of Computing Science, Univ. of Alberta, Sept. 1989.
[33] D.D. Straube and M.T. Ozsu, “Queries and Query Processing in Object-Oriented Database Systems,” ACM Trans. Information Systems, vol. 8, no. 4, 1990.
[34] D.D. Straube and M.T. Özsu,“Type consistency of queries in an object-oriented database system,” Proc. ECOOP/OOPSLA’90 Conf., pp. 224-233, 1990.
[35] D.D. Straube and M.T. Özsu,“Execution plan generation for an object-oriented data model,” Proc. Second Int’l Conf. Deductive and Object-Oriented Database, vol. 566, Lecture Notes in Computer Science, C. Delobel, M. Kifer, and Y. Masunaga, eds., pp. 43-67, Springer Verlag, 1991.
[36] P. Valduriez,S. Khoshafian,, and G. Copeland,“Implementation techniques of complex objects,” Proc. 12th Int’l Conf. Very Large Databases, pp. 101-110, Aug. 1986.
[37] S.L. Vandenberg and D.J. DeWitt,“Algebraic support for complex objects with arrays, identity, and inheritance,” Proc. ACM SIGMOD Int’l Conf. Management of Data, pp. 158-167, June 1991.
[38] F. Velez, G. Bernard, and V. Darnis, “The$O_{2}$Object Manager: An Overview,” Proc. 15th Int'l Conf. Very Large Data Bases, 1989.

Index Terms:
Object-oriented databases, query processing, query optimization, execution plan generation, object management, object-oriented query models.
Dave D. Straube, M. Tamer Özsu, "Query Optimization and Execution Plan Generation in Object-Oriented Data Management Systems," IEEE Transactions on Knowledge and Data Engineering, vol. 7, no. 2, pp. 210-227, April 1995, doi:10.1109/69.382293
Usage of this product signifies your acceptance of the Terms of Use.