Database Reference
In-Depth Information
Object-oriented databases evolved to address some of the limiting features of
relational databases. Although relational databases serve well for many purposes,
their specific limitations need to be addressed. Here are a few of the problems that
object-oriented databases are intended to address:
Although recent versions of relational database systems support BLOBs
(binary large objects), generally they can handle only limited data types. This
is no longer adequate in today's environment. Object-oriented database
systems include additional data types. Furthermore, you can also have user-
defined data types.
Object-oriented systems also support user-defined functions. In fact, object
orientation combines the definition of data and processes.
In the relational data model, each normalized relation does not necessarily
symbolize a real-world entity completely. You may have to combine two or
three normalized relations to actually represent a single entity. The object-
oriented data model improves the representation of real-world entities.
The relational model represents entities and relationship by using a single
modeling construct—a relation or table. Although this appears to simplify the
representation, in reality, it is difficult to show the distinction between entities
and relationships just by using a single modeling construct. You cannot express
the distinction with distinguishable constructs. Object-orientation enhances the
semantic nature of the data model by providing distinct meanings in the
constructs.
Basic Concepts
Several features of object orientation make the concept complete and useful.
However, three basic notions lay the foundation for the concept. These are data
abstraction, object identity, and inheritance. Most of the data manipulation and data
modeling in object-oriented database systems rests on these fundamental notions.
Let us begin with these notions. If you have not been exposed to object-orientated
concepts, please pay special attention.
Data Abstraction Think of trying to define and describe an object. The first
aspect of an object relates to what the object is. The second aspect of an object
is what the object does. A set of operations may be applied to it for changing its
state.
For example, consider an object known as EMPLOYEE. You can describe this
object using its characteristics such as name, address, date of birth, salary, and so on.
A set of values for these attributes defines the current state of the object. Now you
can apply an operation on the object. Let us say that this operation is that of increas-
ing the salary by 5 percent, thereby changing the state of the object.
Apart from the important aspects of what an object is and what an object does,
there are other less significant aspects such as how to implement the object in a
database or for an application. The notion of abstraction refers to the process of
identifying and separating out essential aspects of an object from other less impor-
tant ones. This leads us to two other basic concepts.
Search WWH ::




Custom Search