ODBMS – Definition and overview

The ODBMS which is an abbreviation for object oriented database management system, is the data model in which data is stored in form of objects, which are instances of classes. These classes and objects together makes an object oriented data model.

Components of Object Oriented Data Model:
The OODBMS is based on three major components, namely: Object structure, Object classes, and Object identity. These are explained as following below.

1. Object Structure:
The structure of an object refers to the properties that an object is made up of. These properties of an object are referred to as an attribute. Thus, an object is a real world world entity with certain attributes that makes up the object structure. Also an object encapsulates the data code into a single unit which in turn provides data abstraction by hiding the implementation details from the user.

The object structure is further composed of three types of components: Messages, Methods, and Variables. These are explained as following below.

  1. Messages –
    A message provides an interface or acts as a communication medium between an object and the outside world. A message can be of two types:



    • Read-only message: If the invoked method does not change the value of a variable, then the invoking message is said to be a read-only message.
    • Update message: If the invoked method changes the value of a variable, then the invoking message is said to be an update message.
  2. Methods –
    When a message is passed then the body of code that is executed is known as a method. Every time when a method is executed, it returns a value as output. A method can be of two types:

    • Read-only method: When the value of a variable is not affected by a method, then it is known as read-only method.
    • Update-method: When the value of a variable changes by a method, then it is known as an update method.
  3. Variables –
    It stores the data of an object. The data stored in the variables makes the object distinguishable from one another.

2. Object Classes:
An object which is a real world entity is an instance of a class. Hence first we need to define a class and then the objects are made which differ in the values they store but share the same class definition. The objects in turn corresponds to various messages and variables stored in it.

Example –

class CLERK

  { //variables
     char name;
     string address;
     int id;
     int salary;

    //messages
     char get_name();
     string get_address();
     int annual_salary();
  }; 

In above example we can see, CLERK is a class that holds the object variables and messages.

An OODBMS also supports inheritance in an extensive manner as in a database there may be many classes with similar methods, variables and messages. Thus, the concept of class hierarchy is maintained to depict the similarities among various classes.

The concept of encapsulation that is the data or information hiding is also supported by object oriented data model. And this data model also provides the facility of abstract data types apart from the built-in data types like char, int, float. ADT’s are the user defined data types that hold the values within it and can also have methods attached to it.

Thus, OODBMS provides numerous facilities to it’s users, both built-in and user defined. It incorporates the properties of an object oriented data model with a database management system, and supports the concept of programming paradigms like classes and objects along with the support for other concepts like encapsulation, inheritance and the user defined ADT’s (abstract data types).



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.