Difference Between RDBMS and ORDBMS

A Relational Database Management System (RDBMS) is a Database Management System (DBMS) that is based on the relational model. Most popular DBMSs currently in use are RDMSs. Object-Relational database (ORDBMS) is also a DBMS that extends RDBMS to support a broader class of applications and attempts to create a bridge between relational and object-oriented paradigms.

As mentioned, earlier RDBMS is based on the relational model and data in a RDMS are stored in the form of related tables. So, a relational database can simply be seen as a collection of one or more relations or tables with columns and rows. Each column corresponds to an attribute of the relation and each row corresponds to a record that consists of data values for an entity. RDMSs are developed by extending hierarchical and the network models, which were two previous database systems. Main elements of a RDMS are the concepts of relational integrity and normalization. These concepts are based on the 13 rules for a relational system developed by Ted Codd. Following three important fundamentals should be followed by a RDMS. Firstly, all information must be held in the form of a table. Secondly, each value found in the table columns should not repeat and finally the use of Standard Query Language (SQL). The biggest advantage of RDBMSs is its easiness for users to create access and extend data. After a database is created, user can add new data categories to the database without changing the existing application. There are some notable limitations in RDBMSs also. One limitation is that their lack of efficiency when working with languages other than SQL and also the fact that all the information must be in tables where relationships between entities are defined by values. Further, RDMSs do not have enough storage area to handle data such as images, digital audio and video. Currently most of the dominant DBMSs such as IBM’s DB2 family, Oracle, Microsoft’s Access and SQL Server are actually RDMS.

As mentioned earlier ORDBMS provides a middle ground between RDMS and object-oriented databases (OODBMS). You can simply say that ORDBMS puts an object oriented front end on a RDBMS. When an application communicates with an ORDBMS it will normally act as though the data is stored as objects. Then the ORDBMS will convert the object information into data tables with rows and columns and handle the data as it were stored in a RDBMS. Further, when the data is retrieved, it will return a complex object created by reassembling the simple data. Biggest advantage of ORDBMS is that it provides methods to convert data between RDBMS format and OODBMS format, so that the programmer does not need to write code to convert between the two formats and the database access is easy from an object oriented language.

Even though RDBMS and ORDBMS are both DBMSs, they differ in how they interact with applications. Applications using RDBMS has to do extra work when storing complex data while ORDBMS inherently provide support for this. But due to the internal conversion between data formats, performance of ORDBMSs can be degraded. Therefore choosing one over the other is dependent on the data that needs to be stored/ managed.