PART 4
Object,
Object-Relational, and XML: Concepts, Models, Languages, and Standards
Chapter 11
Object and
Object-Relational Databases
In this chapter, we
discuss the features
of object-oriented data models
and show how some of these features have been incorporated in relational
database systems. Object-oriented databases are now referred to as object databases (ODB) (previously called OODB), and the database systems are
referred to as object data management
systems (ODMS) (formerly
referred to as ODBMS or OODBMS). Traditional data models and systems, such as relational, network, and hierarchical,
have been quite successful in developing the database technologies required for
many traditional business database applications. However, they have certain
shortcomings when more complex database applications must be designed and
implemented—for example, databases for engineering design and manufacturing
(CAD/CAM and CIM1), scientific experiments, telecommunications, geographic information
systems, and multimedia. These newer applications have requirements and
characteristics that differ from those of traditional business applications,
such as more complex structures for stored objects; the need for new data types
for storing images, videos, or large textual items; longer-duration
transactions; and the need to define nonstandard application-specific
operations. Object databases were pro-posed to meet some of the needs of these
more complex applications. A key feature of object databases is the power they
give the designer to specify both the structure
of complex objects and the operations
that can be applied to these objects.
Another reason for the creation of object-oriented databases is the vast
increase in the use of object-oriented programming languages for developing
software applications. Databases are fundamental components in many software
systems, and traditional databases are sometimes difficult to use with software
applications that are developed in an object-oriented programming language such
as C++ or Java. Object databases are designed so they can be directly—or seamlessly—integrated with software that
is developed using object-oriented programming languages.
Relational DBMS (RDBMS) vendors have also recognized the need for
incorporating features that were proposed for object databases, and newer
versions of relational systems have incorporated many of these features. This
has led to database systems that are characterized as object-relational or ORDBMSs. The latest version of the SQL
standard (2008) for RDBMSs includes many of these features, which were
originally known as SQL/Object and they have now been merged into the main SQL
specification, known as SQL/Foundation.
Although many experimental prototypes and commercial object-oriented
database systems have been created, they have not found widespread use because
of the popularity of relational and object-relational systems. The experimental
prototypes included the Orion system developed at MCC, OpenOODB at Texas
Instruments, the Iris system at Hewlett-Packard laboratories, the Ode system at
AT&T Bell Labs, and the ENCORE/ObServer project at Brown University.
Commercially available systems included GemStone Object Server of GemStone
Systems, ONTOS DB of Ontos, Objectivity/DB of Objectivity Inc., Versant Object
Database and FastObjects by Versant Corporation (and Poet), ObjectStore of
Object Design, and Ardent Database of Ardent. These represent only a partial
list of the experimental proto-types and commercial object-oriented database
systems that were created.
As commercial object DBMSs became available, the need for a standard
model and language was recognized. Because the formal procedure for approval of
standards normally takes a number of years, a consortium of object DBMS vendors
and users, called ODMG, proposed a standard whose current specification is
known as the ODMG 3.0 standard.
Object-oriented databases have adopted many of the concepts that were
developed originally for object-oriented programming languages. In Section
11.1, we describe the key concepts utilized in many object database systems and
that were later incorporated into object-relational systems and the SQL
standard. These include object identity, object structure and type constructors, encapsulation of operations and the definition of methods as
part of class declarations, mechanisms for storing objects in a database by
making them persistent, and type and class hierarchies and inheritance.
Then, in Section 11.2 we see how these concepts have been incorporated
into the latest SQL standards, leading to object-relational databases. Object
features were originally introduced in SQL:1999, and then updated in the latest
version (SQL:2008) of the standard. In Section 11.3, we turn our attention to
“pure” object database standards by presenting features of the object database
standard ODMG 3.0 and the object definition language ODL. Section 11.4 presents
an overview of the database design process for object databases. Section 11.5
discusses the object query language (OQL), which is part of the ODMG 3.0
standard. In Section 11.6, we discuss programming language bindings, which
specify how to extend object-oriented programming languages to include the
features of the object database standard. Section 11.7 summarizes the chapter.
Sections 11.5 and 11.6 may be left out if a less thorough introduction to
object databases is desired.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.