Open In App

Object-Based Databases

Traditional database applications have data-processing tasks, such as banking and payroll management, with relatively simple data types that are compatible with the relational data model. As database systems were applied to a wide range of applications, such as computer-aided design and geographic information systems, the limitations imposed by the relational model emerged as a constraint.

The rectification was the introduction of object-based databases, which assent one to deal with complex data types. In Object-Based Databases, each entity is treated as an object and represented in a table. Similar objects are classified into classes and subclasses and the relationship between two objects is maintained using the concept of inverse reference.



Obstacles in Object-Based Databases

  1. The first obstacle faced by programmers using the relational data model was the limited type of system supported by the relational model. Complex application domains require correspondingly complex data types, such as nested records structures, multi-valued attributes, and inheritance supported by traditional programming languages. Such features are indeed supported in ER and extended ER notation, but they had to be translated into simpler SQL data types. The object-relational data model extends the relational data model by providing a richer type system, which includes complex data types and object orientations. Relational query languages, especially SQL, need to be extended correspondingly to deal with richer type systems. Such extensions attempt to preserve the relational foundations while expanding the power of modelling—specifically, declarative access to data. Object-relational database system, that is database system based on the object-relations model, provide a convenient migration path for users of relational databases who want to use object-oriented features.
  2. The second obstacle was the difficulty of accessing database data from programs written in programming languages such as C++ or Java. Simply expanding the type system supported by the database was not enough to completely solve this problem. The difference between the type system of a database and the type system of a programming language makes data storage and retrieval more complex, and, and need to be minimized. Expressing database access using a language other than a programming language (SQL) again makes the programmer’s job difficult. It is desirable, for many applications, to have programming language constructs or extensions that allow direct access to the data in the database, without having to go through an intermediate language such as SQL.

Address the issue of supporting persistence for data contained in the native type system of object-oriented programming languages. In practice two approaches are used:

  1. Build an object-oriented database system, which is a database system that natively supports the object-oriented type system, and allows direct access to data from an object-oriented programming language using the language’s native type system.
  2. Automatically convert data from the programming language’s native type system into a relational representation and vice versa. Data transformation is specified using object-relational mapping.

Object-Based Data Models

The basis of the structure of a database is the data model or we can define it as a collection of conceptual tools for describing data, data relationships, data semantics, and data constraints.



Advantages of Object-Based Databases

Disadvantages of Object-Based Databases

Article Tags :