Fundamentals of Object Databases: Object-Oriented and Object-Relational Design

Object-oriented databases were originally developed as an alternative to relational database technology for the representation, storage, and access of non-traditional data forms that were increasingly found in advanced applications of database technology. After much debate regarding object-oriented versus relational database technology, object-oriented extensions were eventually incorporated into relational technology to create object-relational databases. Both object-oriented databases and object-relational databases, collectively known as object databases, provide inherent support for object features, such as object identity, classes, inheritance hierarchies, and associations between classes using object references. This monograph presents the fundamentals of object databases, with a specific focus on conceptual modeling of object database designs. After an introduction to the fundamental concepts of object-oriented data, the monograph provides a review of object-oriented conceptual modeling techniques using side-by-side Enhanced Entity Relationship diagrams and Unified Modeling Language conceptual class diagrams that feature class hierarchies with specialization constraints and object associations. These object-oriented conceptual models provide the basis for introducing case studies that illustrate the use of object features within the design of object-oriented and object-relational databases. For the object-oriented database perspective, the Object Data Management Group data definition language provides a portable, language-independent specification of an object schema, together with an SQL-like object query language. LINQ (Language INtegrated Query) is presented as a case study of an object query language together with its use in the db4o open-source object-oriented database. For the object-relational perspective, the object-relational features of the SQL standard are presented together with an accompanying case study of the object-relational features of Oracle. For completeness of coverage, an appendix provides a mapping of object-oriented conceptual designs to the relational model and its associated constraints.

[1]  Bjarne Stroustrup,et al.  The C++ Programming Language, First Edition , 1986 .

[2]  Michael Stonebraker,et al.  Object-Relational DBMSs: The Next Great Wave , 1995 .

[3]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[4]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[5]  Akmal B. Chaudhri,et al.  Succeeding with Object Databases: A Practical Look at Today's Implementations with Java and XML , 2000 .

[6]  Jeffrey D. Ullman,et al.  A Survey of Research in Deductive Database Systems , 1995 .

[7]  Jim Melton,et al.  Advanced SQL:1999: Understanding Object-Relational and Other Advanced Features , 2002 .

[8]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[9]  Jeffrey D. Ullman,et al.  A survey of deductive database systems , 1995, J. Log. Program..

[10]  Ramez Elmasri,et al.  Fundamentals of Database Systems , 1989 .

[11]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[12]  Robert J. Muller,et al.  Database Design for Smarties: Using UML for Data Modeling , 1999 .

[13]  Suzanne W. Dietrich,et al.  The missing LINQ between databases and object-oriented programming: LINQ as an object query language for a database course , 2009 .

[14]  Christian Bauer,et al.  Java Persistence with Hibernate , 2006 .

[15]  Paul Geoffrey Brown Object-Relational Database Development: A Plumber's Guide , 2000 .

[16]  Grady Booch,et al.  Object-Oriented Analysis and Design with Applications , 1990 .

[17]  David J. DeWitt,et al.  The Object-Oriented Database System Manifesto , 1994, Building an Object-Oriented Database System, The Story of O2.

[18]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[19]  Michael Stonebraker,et al.  INGRES: a relational data base system , 1975, AFIPS '75.

[20]  DianeC . P. Smith,et al.  Database Abstractions: Aggregation and Generalization , 1989 .

[21]  Roger King,et al.  Semantic database modeling: survey, applications, and research issues , 1987, CSUR.

[22]  R. G. G. Cattell,et al.  Recent books , 2000, IEEE Spectrum.

[23]  Trudy Pelzer,et al.  SQL-99 Complete, Really , 1999 .

[24]  Akmal B. Chaudhri,et al.  Object Databases in Practice , 1997 .

[25]  Joan Peckham,et al.  Semantic data models , 1988, CSUR.

[26]  Ramez Elmasri,et al.  Properties of relationships and their representation , 1899, AFIPS '80.

[27]  Daoqi Yang Java Persistence with Jpa , 2010 .

[28]  Michael Stonebraker,et al.  Third-generation database system manifesto , 1990, SGMD.

[29]  Ramez Elmasri,et al.  The Structural Model for Database Design , 1979, ER.

[30]  Setrag Khoshafian,et al.  Object identity , 1986, OOPLSA '86.

[31]  Ramez Elmasri,et al.  The Category Concept: An Extension to the Entity-Relationship Model , 1985, Data Knowl. Eng..

[32]  Stefan Edlich,et al.  The definitive guide to db4o , 2006 .

[33]  Michael Stonebraker,et al.  The POSTGRES Data Model , 1987, Research Foundations in Object-Oriented and Semantic Database Systems.

[34]  Suzanne W. Dietrich,et al.  Using UML class diagrams for a comparative analysis of relational, object-oriented, and object-relational database mappings , 2003, SIGCSE.

[35]  Alan R. Simon,et al.  Sql: 1999 Understanding Relational Language Components , 2002 .