Open In App

Object-Based Databases

Last Updated : 23 Feb, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

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.

  • Object-oriented programming has become the dominant software-development method. This led to the development of an object-oriented data model that can be seen as an extension of the ER model with notions of encapsulation, methods(functions) and object identity.
  • Inheritance, object recognition, and encapsulation(information hiding), along with methods of providing an interface to objects, are among the key concepts of object-oriented programming that have found application in data modelling.
  • The object-oriented data model also supports a richer type system, including structured and collection types.
  • Major database vendors currently support object-relational data models, a data model that combines the characteristics of an object-oriented data model and a relational data model.
  • It extends the traditional relational model with a variety of features such as structured and collection types, as well as object orientation.

Advantages of Object-Based Databases

  • Complex data and a wider variety of data types than MySQL data types.
  • It’s easy to save and recover data quickly.
  • Seamless integration with object-oriented programming languages.
  • It is easy to model advanced real-world problems.
  • Extensible with custom data types.

Disadvantages of Object-Based Databases

  • Not as widely adopted as relational databases.
  • No universal data model. Theoretical foundations and standards are lacking.
  • Does not support the views.
  • High complexity causes performance problems.
  • Adequate security mechanisms and access rights to objects do not exist.

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads