Object Relational Model

Introduction

As introduced in the Web’s tiered architecture, objects are an integral component of today’s multi-tier Web accessible architectures and serve as the basis for emergent Service Oriented Architectures (SOA) and Web Services (Steiert, 2007; W3C, 2004).  Object oriented design’s (OOD) three guiding principles are data and method encapsulation, inheritance and polymorphism (Weisfield, 2009).  While detailed analysis of these OOD concepts is beyond the scope of this module, it is understood that a system based on objects provides a secure, flexible and scalable framework.  While these OOD advantages are particularly relevant to today’s networked and heterogeneous IS, there has been limited development of pure object-oriented databases due to the additional complexity they incur (Garcia-Molina, Ullman & Widom, 2009).  To accommodate OOD functionality, many RDBMS vendors have introduced object oriented features to their products and these products herald the emergence of the object-relational model (Garcia-Molina, Ullman & Widom, 2009).

The transition to an object-relational model must account for several changes to the relational model.  These changes include: (a) domain types may be aggregate objects rather than atomic attributes, (b) objects encapsulate methods that provide functionality beyond the SQL framework, (c) the aggregate nature of objects may necessitate the creation of identifiers for objects and their components, and (d) the RDBMS system may need to add support for object references (Codd, 1990; Garcia-Molina, Ullman & Widom, 2009).  It should be noted at the outset that object-relational models do not conform to Codd’s RDBMS theoretical constructs and Codd questions the inclusion of object oriented components in the relational model (Codd, 1990).   Recall that the relational model’s foundation is based on predicate logic however the move to non-atomic attributes renders predicate logic invalid and represents a serious flaw in the relational model (Codd, 1990).

The first conceptual change to accommodate the transition to the object relational model is that domain types may consist of objects and therefore may no longer be atomic.  Objects encapsulate both data and methods therefore the object-relational model must also account for method functionality listed above as the second requisite change.  As introduced above, domains that support aggregate data types cannot support predicate logic and thus do not support relational recursion.  In contrast to these vagaries, the move towards method encapsulation is consistent with typical RDBMS implementations since RDMBS are closely integrated with and accessed through a host programming language in any event (Codd, 1990; Garcia-Molina, Ullman & Widom, 2009).  Objects may encapsulate business logic in accord with an organization’s policies and procedures therefore an object’s methods can provide additional functionality and even serve as an additional constraint mechanism (Erl, 2005).

Since attributes may be non-atomic objects, the system may need mechanisms to identify and reference objects (Garcia-Molina, Ullman & Widom, 2009).  The inclusion of identifiers may be necessary to uniquely identify objects and references provide the object-relational model with a method to link objects and their components and eliminate redundancy (Garcia-Molina, Ullman & Widom, 2009).   Object oriented systems rely on references to link objects and components however the pure relational model is devoid of references since computation is based on comparison and evaluation of attribute values (Codd, 1990).   The pure OOD model hides references as exposing them represents a security risk however the object relational model may necessarily expose references for comparison and future reference (Malik, 2006; Weisfield, 2009; Wilander & Kamkar, 2003).

Summary

Despite its incongruence with the pure predicate logic based relational model, the move towards the object-relational model provides enhanced functionality to contemporary RDBMS.  As Codd (1990) asserts, the move towards an integrated relational and object oriented model will require that predicate logic evolve to support aggregate data types.

References

Bishop, M. (2003). Computer security. Boston, MA: Addison Wesley.

Codd, E. F. (1990). The relational model for database management: version 2.  Boston, MA: Addison-Wesley Longman Publishing Co.  Retrieved June 1, 2010 from, http://portal.acm.org/citation.cfm?id=77708.

Codd, E. F., Codd, S. B., & Salley, C. T. (1993). Providing OLAP (on-line analytical processing) to user-analysis: An IT mandate.  www.aaai.org. Retrieved July 21, 2010 from, http://www.cs.bgu.ac.il/~dbm031/dw042/Papers/olap_to_useranalysts_wp.pdf.

Elmasri, R., & Navathe, S. B. (2000).  Fundamentals of database systems. Reading MA: Addison-Wesley.

Erl, T. (2005) Service-oriented architecture: Concepts, technology, and design. Upper Saddle River, NJ: Pearson Education.

Fayyad, U., Piatetsky-Shapiro, G., & Smyth, P. (1996).  From data mining to knowledge discovery in databases. www.aaai.org. Retrieved July 21, from, http://www.daedalus.es/fileadmin/daedalus/doc/MineriaDeDatos/fayyad96.pdf

Garcia-Molina, H., Ullman, J.D., & Widom, J.   (2009).   Database systems: The complete book, (2nd ed.).   Upper Saddle River, NJ: Pearson Prentice Hall.

Graham, S. Davis, D. Simeonov, S. Daniels, G. Brittenham, P. Nakamura, Y, Fremantle, P. Konig, D., & Zentner, C. (2005). Building Web services with Java (2nd ed.). Indianapolis, IN: Sams Publishing

Jackson, P. (1999). Introduction to expert systems. Essex, England: Addison Wesley.

Kotler, P. & Keller, K. L. (2007). Marketing management (12th ed.). Upper Saddle River, NJ: Pearson Publishing.

Malik, D. S. (2006). Java programming: Program design including data structures. Boston MA: Course Technology.

Nagarajan, M., Verma, K., Sheth, A. P., & Miller, J. A. (2007). Ontology driven data mediation in web services. International Journal of Web Services Research, 4(4), 104-126.  Retrieved February 16, 2009, from ABI/INFORM Global database. (Document ID: 1522690091).

Nutt, G. (2004). Operating systems (3rd ed.). Boston, MA: Addison Wesley.

Raab, D. (2009). An about face on the database: Markers may shift from analytical two transactional databases as focus on real-time interactions increases. Information Management, 19 (5), 38.

Rivest, S., Bedard, Y., & Marchand, P. (2001). Toward better support for spatial decision making: Defining the characteristics of spatial on-line analytical processing (SOLAP).  Centre for Research in Geomatics, Laval University, Québec.  Retrieved  July 21, 2010 from, http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.125.344&rep=rep1&type=pdf.

Robbins, S. P., & Judge, T. A. (2007). Organizational Behavior. Upper Saddle River, NJ: Prentice Hall.

Schalkoff, R. J. (1990). Artificial intelligence: An engineering approach. New York: McGraw-Hill.

Sheth, A. P., Gomadam, K., & Lathem, J. (2007). SA-REST: Semantically interoperable and easier-to-use services and mashups. IEEE Internet Computing, 11(6), 91-94.  Retrieved February 16, 2009, from ProQuest Computing database. (Document ID: 1424144951).

Silberschatz, A., Korth, H. F., & Sudarshan, S. (1999). Database system concepts (3rd ed.). Boston, MA: McGraw-Hill.

Steiert, H. (2007). Towards a component-based n-Tier C/S architecture. Kaiserslautern, Germany: Department of Computer Science, Database and Information Systems Group,University of Kaiserslautern.  Retrieved January 1, 2009 from http://www.dr-gail.org/upload/p137-steiert.pdf

Van Le, T. (1993). Techniques of Prolog programming. New York: Wiley Publishing.

W3C, (2004). Web services architecture: W3C working group note 11 February 2004. Retrieved February 21, 2009 from, http://www.w3.org/TR/ws-arch/#id2260892

Weisfield, M. (2009). The object-oriented thought process (3rd ed.). Upper Saddle River, NJ: Addison Wesley.

Wilander, J., & Kamkar, M. (2003). A comparison of publicly available tools for dynamic buffer overflow prevention. Retrieved March 28, 2010 from, http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.113.6288&rep=rep1&type=pdf.

Wilson, L. B., & Clark, R. G. (2001).  Comparative programming languages (3rd ed.). Essex, England: Addison-Wesley.

Wolfe, A. (2008). Is a smartphone your next computer. Information Week.  Retrieved January 7, 2009 from, http://www.informationweek.com/news/personal_tech/smartphones/showArticle.jhtml?articleID=210605369.