Skip to main content Accessibility help
Internet Explorer 11 is being discontinued by Microsoft in August 2021. If you have difficulties viewing the site on Internet Explorer 11 we recommend using a different browser such as Microsoft Edge, Google Chrome, Apple Safari or Mozilla Firefox.

Chapter 8: Object-Oriented Databases and Object Persistence

Chapter 8: Object-Oriented Databases and Object Persistence

pp. 207-230

Authors

, KU Leuven, Belgium, , KU Leuven, Belgium, , KU Leuven, Belgium
Resources available Unlock the full potential of this textbook with additional resources. There are free resources and Instructor restricted resources available for this textbook. Explore resources
  • Add bookmark
  • Cite
  • Share

Summary

Chapter Objectives

In this chapter, you will learn to:

  • • use advanced concepts of object orientation, such as method overloading, inheritance, method overriding, polymorphism, and dynamic binding;

  • • identify various strategies to ensure object persistence;

  • • understand the key components of an OODBMS;

  • • understand the ODMG standard and its object model;

  • • use the ODMG object definition language (ODL) to define object types;

  • • use the ODMG object query language (OQL) to formulate queries;

  • • implement the ODMG standard through language bindings;

  • • evaluate OODBMSs against RDBMSs.

  • Opening Scenario

    Sober has noted that many database applications are being developed using programming languages such as Java, Python, and C++. It found out that many languages are based on the object-oriented paradigm. The company wants to know what this entails and whether this could have any implications and/or potential for its database and choice of DBMS.

    The object-oriented (OO) paradigm was first introduced by programming languages such as C++, Eiffel, and Smalltalk. Due to its expressive modeling power and formal semantics, the principles of OO have also been widely used in software development methodologies. However, for data storage and management, the adoption of OO proved less straightforward. In this chapter, we discuss various approaches to object persistence. First, we refresh the basic concepts of OO, many of which have been covered in Chapter 3. This will be followed by a discussion of advanced OO concepts such as method overloading, inheritance, method overriding, polymorphism, and dynamic binding. Next, we review the basic principles of object persistence. We then discuss object-oriented database management systems (OODBMSs), which is the core of this chapter. We conclude with evaluating OODBMSs and demonstrating their impact on the emergence of object-relational mapping (ORM) frameworks, which facilitate the persistence of objects into RDBMSs. Due to its popularity and ease of use, we use Java as the OO language for the examples.

    Recap: Basic Concepts of OO

    In object-oriented (OO) programming, an application consists of a series of objects that request services from each other. Each object is an instance of a class that contains a blueprint description of all the object's characteristics. Contrary to procedural programming, an object bundles both its variables (which determine its state) and its methods (which determine its behavior) in a coherent way.

    About the book

    Access options

    Review the options below to login to check your access.

    Purchase options

    eTextbook
    US$84.00
    Hardback
    US$84.00

    Have an access code?

    To redeem an access code, please log in with your personal login.

    If you believe you should have access to this content, please contact your institutional librarian or consult our FAQ page for further information about accessing our content.

    Also available to purchase from these educational ebook suppliers