Motivation
Relational database systems have proved their worth in the
domain of business applications, particularly those dealing with
accounting. The relational data model, however, is not suitable
for all application domains. New applications involving complex
data modelling (i.e. that do not map well to tables) now require
the services normally associated with database systems:
persistence, transactions, authorization, distribution,
versioning, data stability, buffering, and associative access.
To illustrate, let's examine a CAD/CAM application for a
company that manufactures airplanes. The application supports
both the specification and design of all parts required to build
an airplane. Modelling physical objects does not reduce easily
to tabular, or relational, form. In particular, an airplane requires
many duplicate parts, each of which would require a unique tag
to be stored as a distinct entity in a relational database.
Furthermore, the relations representing sets of different parts
that are mostly similar would require separate, independent
schemas. Finally, the application programmer almost definitely
would prefer to manipulate part designs as complex
abstractions at a level higher than that provided in the
relational model.
Our example application, however, requires database services.
An airplane design team typically consists of several people, all
of whom will desire access to the current state of the design. In
today's workplace, it is likely that these designers will be using
workstations distributed over a network. In addition, some
people should not be allowed total access to certain aspects of
Graphical User
Interfaces(GUIs)
Databases
Design
Operating System
Unique identity
Embedded properties
Ability to interact with other objects and act
upon itself
Object Identity
Unique to that object
Assigned by system at moment of objects creation
Cannot be changed under any circumstances
Can be deleted only if the object is deleted
Can never be reused
Object Attributes
ATTRIBUTE NAME
ATTRIBUTE VALUE
SOCIAL_SECURITY_NUMBER
FIRST_NAME
MIDDLE_INITIAL
LAST_NAME
DATE_OF_BIRTH
MAJOR*
SEMESTE_GPA
OVERALL_GPA
414-48-0944
SMART
K
EJEKA
11/23/1966
INFORMATION TECHNOLOGY
1.0
1.0
ATTRIBUTE NAME
ATTRIBUTE VALUE
COURSES_TAKEN*
ADVISOR
Methods:
Classes:
Collection of similar objects with shared structure (attributes)
and behavior (methods)
Class instance or object instance
Each object in a class
OO DATA MODEL
ER MODEL
Type
Object
Class
Instance Variable
N/A
OID
Method
Class Hierarchy
Entity Definition
Entity
Entity Set
Attribute
Primary Key
N/A
N/A
ER Diagram
Database Manipulation
Typical query language operations are:
- Searching for records fulfilling certain selection conditions
-Iterating over entire tables applying update operations
PROBLEM: Would like to be able to customize and extend query
language for different application areas, maps, time series,
images, etc
Classical DBMSs
Applications:
Administrative applications e.g. banking (ATMs)
Properties:
Very large structured data volumes
Very many small Transactions On-line (High transaction
rates)
Occasional batch programs
High Security/Consistency
Multimedia
10
Query
No
Query
Simple
Personal db
Many appl
VOD
Text Editor
Simple
computation
retrieval
Temporal data
Measurement
Customize search
CAD System
Course Planning
Complex
Computation
Complex
11
-Limited concurrency
-Unsafe, database may crash
-Slow for many small transactions (e.g. ATM applications)
12
13
Two objects, S1 and S2 are equal if they have the same object
(that is, if they have the same OID).
(2)
Value equality of objects: This can be determined in
two ways: (a) Two primitive objects are equal if they have
the same value. (b) Two nonprimitive objects are equal if
they have the same number of properties, and if, for any
property pi of S1 there exists a property pj of S2 that is
equal in value.
(3)
Value equality of properties. 4. Identity equality of
properties.
OODBs reduce need for Joins
The capability of navigating through object structures and the
resulting path expressions in object attributes gives us a new
perspective on the issue of joins in OODBs. The relational join is
a mechanism that correlates two relations on the basis of
values of a corresponding pair or attributes in the relations.
Since two classes in an OODB may have corresponding pairs of
attributes, the relational join (or, explicit join) may still be
necessary in OODBs. For example, suppose we have a class
Student and a class School, and both have attributes Name and
Age. Although the Name and Age attributes of the class School
may not have the domains of Name and Age attributes of class
Student and vice versa, we may wish to relate the two classes
on the basis of values of these attributes (e.g. find all the
student objects whose age is less than the age of the school
the student goes to). But, as mentioned above, path
expressions can reduce the need for joins of classes
significantly, as compared to RDBs. There are also times when
the need for the relational join can be eliminated. For example,
when the domain of an attribute of a class A is class B, the
fetching of the OIDs of objects in a class that are stored as
14
15
16
17
18
19
20
21
22
23
24
Trends
Some OODBMS have emerged and seem likely to continue in
use (e.g. ObjectStore)
The Object Data Management Group have proposed a
standard covering an object data model, an object data
definition language (ODL) an object query language (OQL) an
object manipulation language (OML)
Currently, though the object relational data model seems to
be more widely used
and for the future, it looks as though some form of e.g. Java
persistence will become the norm for persistent object oriented
data.
CONCLUSION
In spite of many advantages, ORDBMSs also had drawbacks.
The architecture of object-relational model is not appropriate
for high-speed web applications. However, with advantages like
large storage capacity, access speed, and manipulation power
of object databases, ORDBMSs are set to conquer the database
market. In summary, relational and object-oriented database
systems each have certain strengths as well as certain
weaknesses. In general, the weakness of one type of system
tends to be strength of the other.
REFERENCES
[1] Stonebraker M., Object-relational DBMSs: the Next Great
Wave. San Francisco, CA: Morgan Kaufmann Publishers,
Inc.1996.
[2] AjitaSatheesh Use of object-oriented concepts in database
for effective miningVol.1 (3), 2009, 1UIT, RGPV, Bhopal,
MP,India.
25
26