Object database

An object database or object -oriented database is a database that is based on the object database model. In contrast to the relational database data is managed here as objects in the sense of object orientation. The associated database management system is referred to as the object -oriented database management system. Object database and object database management system together form the object database system.

An object usually modeled an object or concept in the real world and in particular contains associated attributes; For example, as a part of the color and the weight of a car to the car object. Attributes describe an object closer. Data and methods ( functions to access the data ) are stored together in the objects.

Object database management system

The database management system (DBMS) is the software that is required to manage a database. In the case of an object database such as the Object Database Management System ( ODBMS ) is called. The ODBMS is responsible for saving and reliable access to the data. In addition to the classic features of a DBMS, it has to meet the following additional requirements in order to be usable as a full ODBMS:

  • Management of complex objects. An object is composed of any other data types.
  • Ensure object identity. Each object gets a system-wide unique ID OID.
  • Encapsulation of objects according to the concept of object-oriented programming. The access to the object takes place via methods.
  • Objects associated with an object class.
  • Object classes are arranged in a class hierarchy.
  • By late binding the overloaded methods are used in inherited objects.
  • The ODBMS must provide a Turing - complete manipulation language ( DML).

In addition to these properties, a number of optional requirements, which are not shown here in detail. They were set at the conference DOOD'98.

As a query language is the language Object Query Language ( OQL ) has been standardized by the ODMG. As a Data Manipulation Language Object Definition Language (ODL ) will be used.

Benefits

Object database systems include a gap created in the programming of modern database applications, when the application was developed in an object oriented programming language, but the database is a classical relational database system. Both concepts contradict each other in some important respects. This problem is commonly referred to as the "Object- relational impedance mismatch". As a solution to the problem of so-called object-relational mappings are used. These are software components that mediate between a relational database and an object-oriented software. By using an object database system this mediation is superfluous. The application can communicate directly with the database.

The assembly of complex data objects using joins across multiple database tables is eliminated. Objects can be easily retrieved on relations stored in the database.

Furthermore, an ODBMS helps in accessing data. Since objects can have a complex structure, semantic relationships between objects are known to the database system. Thus, the database system has an understanding of what data belong together. This knowledge can be used in the query the data using a query language such as OQL. In contrast to relational database systems, the result of a query is not a lot of records. OQL allows querying of individual objects.

Moreover, the problem is solved of the object identity. While relational databases, the database designer often a key artificially generated ( surrogate key) needs to add to his data, this is done by an ODBMS automatically in form of OIDs. The management of these IDs is thereby taken over completely by the system.

Disadvantages

Object databases have until now only a small distribution. Accordingly, many interfaces and tools such as JDBC / ODBC, ETL or OLAP are not prepared for use with an ODBMS.

For certain queries object databases are still at a disadvantage compared to relational databases. This is caused for example by access paths to objects via multiple path types ( for example, inheritance and association ). This results in write operations in the lock management to an exponential complexity and thus to performance problems. The performance issues were addressed in the object-relational databases in which only the constructs of object-oriented databases were acquired with a lower complexity ( for example ).

History

Object databases have been developed in the late 80s. Thus they belong to the comparatively new database concepts. To this day, they play on the database market, which is dominated by relational database systems, a rather minor role. Nevertheless, several object database systems have been developed, such db4o, which are partly available as open source since 2004.

612893
de