This Article 
 Bibliographic References 
 Add to: 
Outer Joins and Filters for Instantiating Objects from Relational Databases Through Views
February 1994 (vol. 6 no. 1)
pp. 108-119

One of the approaches for integrating object-oriented programs with databases is to instantiate objects from relational databases by evaluating view queries. In that approach, it is often necessary to evaluate some joins of the query by left outer joins to prevent information loss caused by the tuples discarded by inner joins. It is also necessary to filter some relations with selection conditions to prevent the retrieval of unwanted nulls. The system should automatically prescribe joins as inner or left outer joins and generate the filters, rather than letting them be specified manually for every view definition. We develop such a mechanism in this paper. We first develop a rigorous system model to facilitate the mapping between an object-oriented model and the relational model. The system model provides a well-defined context for developing a simple mechanism. The mechanism requires only one piece of information from users: null options on an object attribute. The semantics of these options are mapped to non-null constraints on the query result. Then the system prescribes joins and generates filters accordingly. We also address reducing the number of left outer joins and the filters so that the query can be processed more efficiently.

[1] F. Bancilhonet al., "The design and implementation of O2, an object-oriented database system," in [53], pp. 1-22.
[2] R. Agrawal and N. H. Gehani, "ODE (Object Database and Environment): The language and the data model," inProceedings of the 1989 ACM SIGMOD Int. Conf. Management of Data, pp. 36-45, 1989.
[3] A. Paepcke, "PCLOS: A flexible implementation of CLOS persistence," inProc. European Conf. Object-Oriented Programming, Oslo, Norway, Aug. 1988.
[4] D. Maieret al., "Development of an object-oriented DBMS," inProc. ACM OOPSLA'86, pp. 472-482, 1986.
[5] S. Ford et al., "Zeitgeist: Database Support for Object-Oriented Programming," inAdvances in Object-Oriented Database Systems, Proc. Second Int'l Workshop Object-Oriented Database Systems, Springer-Verlag, Berlin, 1988, pp. 23-42.
[6] W. Kimet al., "Integrating an object-oriented programming system with a database system," in [56], pp. 142-152.
[7] D. Fishmanet al., "Iris: An object-oriented database management system,"ACM Trans. Office Inform. Syst., vol. 5, no. 1. pp. 48-69, Jan. 1987.
[8] M. Stonebraker and L. Rowe, "The design of POSTGRES," inProc. 1986 ACM-SIGMOD Conf. Management of Data, Washington, DC, May 1986.
[9] T. Learmont and R. Cattell, "An object-oriented interface to a relational catabase," inProc. Int. Workshop Object-Oriented Database Syst., 1987.
[10] G. Wiederhold, "Views, objects, and databases,"Computer, vol. 19, no. 12, pp. 37-44, Dec. 1986.
[11] T. Barsalou, W. Sujansky, and G. Wiederhold, "Expert database systems in medicine--the PENGUIN project." inProc. AAAI Spring Sym. on AI in Medicine, Stanford, CA, pp. 14-18, Mar. 1990.
[12] T. Barsalou and G. Wiederhold, "Complex obiects for relational databases,"Comput. Aided Design(special issue on object-oriented techniques for CAD), vol. 22, no. 8, pp. 458-468, 1990.
[13] K. Lawet al., "An architecture for managing design objects in a sharable relational framework."Int. J. Syst. Automation: Research and Applications, Int. Society for Productivity Enhancement, 1991.
[14] G. Wiederhold, T. Barsalou, and S. Chaudhuri, "Managing objects in a relational framework," Stanford Univ., Tech. Rep. STAN-CS-189-1245, Jan. 1989.
[15] W. Premeriani, M. Blaha, J. Rumbaugh, and T. Varwig, "An object-oriented relational database,"Commun. ACM, vol. 33, no. 11, Nov. 1990.
[16] W. R. Rubinstein, M. S. Kubicar, and R. G. G. Cattell, "Benchmarking simple database operations," in [51], pp. 387-394.
[17] B. Lee and G. Wiederhold, "Efficiently instantiating view-objects from remote relational databases," submitted for publication, June 1991.
[18] B. Lee, "Efficiently instantiating objects from relational databases through views," Ph.D. dissertation, Dept. of Electrical Eng., Stanford Univ., Dec. 1990. (Also published as Tech. Rep. STAN-CS-90-1346, Computer Science Dept.)
[19] E. F. Codd, "A relational model of data for large shared data banks,"Commun. ACM, pp. 377-387, June 1970.
[20] J. D. Ullman,Database and Knowledge-base Systems. Rockville, MD: Computer Science Press, 1988.
[21] K. Morris, J. D. Ullman, and A. Van Gelder, "Design overview of the Nail! system," inProc. Int. Conf. Logic Programming, London, 1986.
[22] S. Tsur and C. Zaniolo, "LDL: a logic-based data-language," inProc. 12th VLDB Conf., 1986, pp. 33-41.
[23] D. Chimenti, A. O'Hare, R. Krishnamurthy, and C. Zaniolo, "An overview of the LDL system,"IEEE Data Eng., vol. 10, no. 4, Dec. 1987.
[24] P. Fischer and S. Thomas, " Operators for non-first-normal-form relations," inProc. IEEE Int. Computer Software and Application Conf., Nov. 1983.
[25] M. Roth, H. Korth, and A. Silberschatz, "Theory of non-first-normal-form relational databases," Dept. of Computer Science, Univ. of Texas, Austin, TX, Tech. Rep. TR-84-36, Dec. 1984.
[26] S. Abiteboul and N. Bidoit, "Non-first normal form relations to represent hierarchically organized data," inProc. 3rd ACM Conf. on Principle of Database Syst.(Waterloo, ON, Canada), 1984 (also published inJ. Comput. Syst. Sci., vol. 33, 1986.)
[27] C. Date, "The outer join," inProc. 2nd Int. Conf. Databases, Cambridge, England, Sept. 1983.
[28] E. F. Codd, "Extending the relational database model to capture more meaning,"ACM Trans. Database Syst., vol. 4, no. 4, pp. 397-434, Dec. 1979.
[29] C. Date, "Referential integrity," inProc. 7th Int. Conf. Very Large Data Bases, Cannes, France, pp. 2-12, Sept. 1981.
[30] C. J. Date,An Introduction to Database Systems, vols. 1 and 2. Reading, MA: Addison-Wesley, vol. 1, 1981, vol. 2, 1983.
[31] F. Bancilhon, "Object-oriented database systems," inProc. ACM SIGACT-SIGMOD Symp. Principles Database Syst., Austin, TX, Mar. 1988.
[32] D. Maier, "Why isn't there an object-oriented data model?," inProc. IFIP 11th World Computer Congress, San Francisco, Sept. 1989.
[33] J. Joseph, S. Thatte, C. Thompson, and D. Wells, "Report on the object-oriented database workshop,"SIGMOD Record, vol. 18, no. 3, Sept. 1989.
[34] D. Tsichritzis and F. Lochovsky,Data Models, Prentice Hall, Englewood Cliffs, N.J., 1982.
[35] R. Haskin and R. Lorie, "On extending the functions of a relational database system, " inProc. ACMSIGMOD, June 1982, pp. 207-212.
[36] R. Lorie and W. Plouffe, "Complex objects and their use in design transactions," inProc. IEEE Annual Meeting-Database Week: Eng. Design Applications, pp. 115-121, May 1983.
[37] K. Dittrich and R. Lorie, "Object-oriented database concepts for engineering applications," IBM Research Lab., San Jose, CA, Tech. Rep. RJ4691(50029). May 1985.
[38] W. Wilkes, P. Klahold, and G. Schlageter, "Complex and composite objects in CAD/CAM databases," inProc. 5th IEEE Int. Conf. Data Eng., Los Angeles, February 1989.
[39] P. Buneman, S. Davidson, and A. Watters, "A semantics for complex objects and approximate queries," inProc. ACM Symp. Principles of Database Syst., 1988.
[40] W. Kimet al., "Composite object support in an object-oriented database system," inProc. ACM Conf. OOPSLA, pp. 118-125, Oct. 1987.
[41] IntelliCorp KEETMSoftware Development System User's Manual, Intellicorp Inc., Mountain View, CA, Document No. 3.0-U-1, July 1986.
[42] R. Kempf and M. Stelzner, "Teaching object-oriented programming with the KEE system," inProc. Int. Conf. Object-Oriented Programming Syst., Languages, Applications, pp. 11-25, Oct. 1987.
[43] "KEEconnection: A bridge between databases and knowledge bases," unpublished paper, Intellicorp Inc., Mountain View, CA, 1987.
[44] S. Khoshafian and G. Copeland, "oidentity," inProc. Int. Conf. Object-Oriented Programming Syst., Languages, Applications, 1986.
[45] S. Abiteboul and P. C. Kanellakis, "Object identity as a query language primitive," inProc. 1989 ACM-SIGMOD Int. Conf. on Management of Data(Portland, OR), May 1989.

Index Terms:
relational databases; relational algebra; object-oriented programming; query processing; outer joins; relational databases; object-oriented programs; view queries; left outer joins; information loss; tuples; inner joins; selection conditions; filters; view definition; rigorous system model; null options; object attribute; semantics; object instantiation
B.S. Lee, G. Wiederhold, "Outer Joins and Filters for Instantiating Objects from Relational Databases Through Views," IEEE Transactions on Knowledge and Data Engineering, vol. 6, no. 1, pp. 108-119, Feb. 1994, doi:10.1109/69.273031
Usage of this product signifies your acceptance of the Terms of Use.