Object-Oriented Model
The object-oriented database paradigm is the combination of
object-oriented programming language systems and persistent
systems. The power of the OODB comes from the seamless treatment
of both persistent data, as found in databases, and transient
data, as found in executing programs.
Object oriented data base systems are the most recent
development in data base technology. It is their goal to offer
more complex data types in order to overcome the restrictions
of, e.g., the normalization rules for relational data bases. In
the context of object oriented data base models, an object
consists of both its data and the operations (methods) which can
be applied to the object. Each object is a concrete instance
of an object class defining the attributes and
operations of all its instances. Each instance has its unique
identifier by which it can be referred to in the data base.
Object DBMSs add database functionality to object programming
languages. They bring much more than persistent storage of
programming language objects. Object DBMSs extend the semantics
of the C++, Smalltalk and Java object programming languages to
provide full-featured database programming capability, while
retaining native language compatibility. A major benefit of this
approach is the unification of the application and database
development into a seamless data model and language environment.
As a result, applications require less code, use more natural
data modeling, and code bases are easier to maintain. Object
developers can write complete database applications with a
modest amount of additional effort
Following principles apply to object oriented data base
models.
1. Inheritance
New object classes can be derived from another class (Witch
called Super-class) by
inheritance. The new classes inherit the attributes and methods
of the super-class and offer additional attributes and
operations. The relation between a derived class and its
super-class is called ``isA" relation because an
instance of the derived class also is an instance of
the super-class.
2. Aggregation
Composite objects may be constructed as consisting of a set of
elementary objects. The container object can
communicate with its contained objects via their
methods. The relation between the container object and its
components is called "part of " relation because a
component is a part of the container object.
3. Polymorphism
This feature is closely connected to inheritance. Derived
classes may re-define methods of their super-classes. This is
very useful for achieving class-specific behavior using messages
already available for the super-class
4.
Encapsulation
An object can only communicate with an object via
messages. The operations
provided by an object define the set of messages which can be
understood by it; no other operations can be applied to an
object.