Object
Oriented Data Model:
This
data model is method of representing real world objects. It considers each
object in the world as objects and isolates it from each other. It groups its
related functionalities together and allows inheriting its functionality to
other related sub-groups.
It
enables us to create classes, organize objects, structure an inheritance
hierarchy and call methods of other classes. Besides these, it also provides
the facilities associated with standard database systems. The user will create
classes, objects, inheritance and so on and the database system will store and
manage these objects and classes.
Let us
consider an Employee database to understand this model better. In this database
we have different types of employees – Engineer, Accountant, Manager, Clark.
But all these employees belong to Person group. Person can have different
attributes like name, address, age and phone.
Advantages and Disadvantages:
Advantages:
1. Enriched modeling capabilities:
The
object-oriented data model allows the 'real world' to be modeled more closely.
The object, which encapsulates both state and behavior, is a more natural and
realistic representation of real-world objects.
2. Extensibility:
OODBMSs
allow new data types to be built from existing types. The ability to factor out
common properties of several classes and form them into a superclass that can
be shared with subclasses can greatly reduce redundancy within system is
regarded as one of the main advantages of object orientation.
3. Capable of handling a large variety of
data types:
Unlike
traditional databases (such as hierarchical, network or relational), the object
oriented database are capable of storing different types of data, for example,
pictures, voice video, including text, numbers and so on.
4. More expressive query language:
Navigational
access from the object is the most common form of data access in an OODBMS.
This is in contrast to the associative access of SQL (that is, declarative
statements with selection based on one or more predicates). Navigational access
is more suitable for handling parts explosion, recursive queries, and so on.
5. Support for schema evolution:
The
tight coupling between data and applications in an OODBMS makes schema
evolution more feasible.
6. Support for long-duration,
transactions:
Current
relational DBMSs enforce serializability on concurrent transactions to maintain
database consistency.
7. Applicability to advanced database
applications:
There
are many areas where traditional DBMSs have not been particularly successful,
such as, Computer-Aided Design (CAD), Computer-Aided Software Engineering
(CASE), Office Information System(OIS), and Multimedia Systems. The enriched
modeling capabilities of OODBMSs have made them suitable for these
applications.
8. Improved performance:
There
have been a number of benchmarks that have suggested OODBMSs provide
significant performance improvements over relational DBMSs. The results showed
an average 30-fold performance improvement for the OODBMS over the RDBMS.
Disadvantages of OODBMSs
1. Lack of universal data model: There is no
universally agreed data model for an OODBMS, and most models lack a theoretical
foundation.
2. Lack of experience: In comparison
to RDBMSs the use of OODBMS is still relatively limited. This means that we do
not yet have the level of experience that we have with traditional systems.
3. Lack of standards: There is a
general lack of standards of OODBMSs. We have already mentioned that there is
not universally agreed data model.
4. Competition: Perhaps one
of the most significant issues that face OODBMS vendors is the competition
posed by the RDBMS and the emerging ORDBMS products.
5. Locking at object level may impact performance: Many OODBMSs use locking as the basis for
concurrency control protocol. However, if locking is applied at the object level, locking of an inheritance hierarchy may be problematic, as well as
impacting performance.
-profshardulp.patil@gmail.com