one of the largest directories of the web

Valid XHTML 1.0!

Home : Computers : Software : Databases : Object-Oriented

Object-Oriented

Object-oriented Database Management Systems (ODBMS or OODBMS)
offer persistent storage for object data, often with direct
bindings to object-oriented programming languages. They distinguish
themselves from relational databases (RDBMS)
in the following key points:



Complex objects can be stored without segmentation:

RDBMS require data to be normalized to avoid
redundancies. This means that the values belonging to
one logical unit (the object) are often spread over several database
relations. To access the whole object or its
interrelationships with other objects several
joins may be necessary. But joins are one of the most costly
operation in the relational model and thus traversals
of object structures consisting of thousands of objects become too
slow for applications like e.g. CAD. Also, storing an object
without segmenting it eases clustering of the database.

User definable abstract data types
(the classes):
RDBMS only allow to model and store data, the logic
for handling this data remains wholly in the
applications using the database (this is not exactly
true for active databases, though). ODBMS on the
other hand allow to incorporate the behavioral aspects of the data
into the database itself which can ease consistency maintenance
and behavior updates, and allows additional transaction models.

Object identity is inherent in the data model:

RDBMS often introduce artificial keys into the
database model to ensure different entities are represented
as different even though all 'natural' values are the same (e.g. two
points at (1,1) in a collection of geometric figures). The
uniqueness and the referential integrity of these artificial
keys have to be ensured explicitly by the database or the
applications, which costs time. In ODBMS object identity is an
inherent concept of the language.

No impedance mismatch between programming language and
DBMS
:
The relational query language SQL differs from normal
programming language in some respects and
therefore makes coupling difficult. For example relational databases
handle collections of data as sets whereas most programming
languages can handle only single data items. Also, SQL is not
turing-complete, which requires any calculation of a transitive closure
(e.g. all ancestors of a person) to be done in the
programming language.


These differences also allow ODBMS to choose more efficient
strategies in other areas: Transaction
mechanism can take advantage of the enhanced knowledge about the
semantics of operations on the data: E.g. two
"increment a by n" operations are associative and can
therefore be exchanged when serializing operations; two "Read
a, Write a" operations can't. Also versioning and
configuration management are simpler if objects remain unsegmented.
Beginning in the mid 90ties the developers of RDBMS have reacted to
some of these deficiencies and introduced object-oriented concepts
into their databases leading to so called Object-Relational DBMS
(ORDBMS).


A major architectural distinction of ODBMS is between page servers and object servers. In a page
server
architecture the database server handles all data with
the minimum granularity of a (memory) page. The individual
objects are retrieved from these pages only on the client side. In
an object server architecture the database client and server
communicate on the basis of individual objects. This has major
consequences on how and where transaction management, recovery
and method execution are implemented. In principle, page servers
should be more efficient for direct object access whereas object
servers should excel if queries can be split between client-
and server-side.

Sites in Object-Oriented

Cetus
Link collection with FAQs, newsgroups, books, and conferences.
Object-Oriented Databases versus Object-Relational Databases
Gives a rough definition of relational, object-oriented and object-relational databases and compares these paradigms using criteria such as simplicity of use, scalability and maturity.
Object-Oriented Database Management Systems
A collection of links, background, research, requirements, books, newsgroups, and organizations. Includes pointers to the three manifestos.
Ultima-S: Problems and Decisions
Advantages of a client-server O(R)DBMS versus a mainframe database are shown.
The Object-Oriented Database System Manifesto
Defines the main features and characteristics that a system must have to qualify as an object-oriented database.
Whatever Happened to Object-Oriented Databases?
Comparison of state and future prospect of object-oriented and relational databases. [PDF file with IEEE Computer version available from same site.]
ODBMS Articles and Products
Articles on object-oriented database systems architecture and technology, product comparison and selection as well as a small FAQ.
Object Data Management Group (ODMG)
Industry association for a common OO data standard. Extracts of ODMG 3.0 as well as some explaining articles are online. Note: Standard is partially superceded by JDO.
Informix Corporation
Designs, develops, manufactures, markets, and supports database management systems and object-oriented application development tools for delivering information to desktop platforms. (Nasdaq: IFMX).

sub categories in Object-Oriented

Conferences Conferences
Modelling Modelling
Projects and Research Projects and Research
FAQs, Help, Tutorials and Lectures FAQs, Help, Tutorials and Lectures
Products Products

cross references

Computers : Programming : Databases Computers : Programming : Databases
Computers : Software : Databases : XML Computers : Software : Databases : XML

other references

Computers : Programming : Languages : Java : Databases and Persistence : Database Management Systems - DBMS : Object-Oriented Computers : Programming : Languages : Java : Databases and Persistence : Database Management Systems - DBMS : Object-Oriented
Computers : Programming : Languages : Smalltalk : Software : Databases Computers : Programming : Languages : Smalltalk : Software : Databases

this category in other languages

Objekt-Orientiert German : Objekt-Orientiert
Object-Oriented  -  Directory Object-Oriented  -  Directory Object-Oriented  -  Directory Object-Oriented  -  Directory