Databases Reference
In-Depth Information
The origins of object-oriented DBs trace their beginnings to the emer-
gence of object-oriented programming in the 1970s. Technically, there is no
official standard for object DBs. The topic The Object Database Standard:
ODMG-V2.0, under the sponsorship of the Object Database Management
Group (ODMG) (http://www.odmg.com), describes an industry-accepted
de facto standard. Object DBMSs emphasize objects, their relationships, and
the storage of those objects in the DB.
Designers of complex systems realized the limitations of the relational
paradigm when trying to model complex systems. Characteristics of object
DBs include a data model that has object-oriented aspects like class, with
attributes, methods, and integrity constraints; they also have object identifi-
ers (OIDs) for any persistent instantiation of classes; they support encapsula-
tion (data and methods), multiple inheritance, and abstract data types.
Object-oriented data types can be extended to support complex data
such as multimedia by defining new object classes that have operations to
support the new kinds of information.
The object-oriented modeling paradigm also supports inheritance,
which allows incremental development of solutions to complex problems by
defining new objects in terms of previously defined objects. Polymorphism
allows developers to define operations for one object and then share the
specification of the operation with other objects. Objects incorporating poly-
morphism also have the capability of extending behaviors or operations
to include specialized actions or behaviors unique to a particular object.
Dynamic binding is used to determine at run time which operations are
actually executed and which are not. Object DBs extend the functionality of
object programming languages like C
or Java to provide full-featured DB
programming capability. The result is a high level of congruence between the
data model for the application and the data model of the DB, resulting in less
code, more natural data structures, and better maintainability and greater
reusability of code. All of those capabilities deliver significant productivity
advantages to DB application developers that differ significantly from what is
possible in the relational model.
++
6.3
Contrasting the Major Features of Pure Relational and
Object-Oriented Databases
In the relational DB, the query language is the means to create, access, and
update objects. In an object DB, the primary interface for creating and modi-
fying objects is directly via the object language (C
++
, Java, Smalltalk) using
Search WWH ::




Custom Search