Difference Between RDBMS and OODBMS

An Object-Oriented Database Management System (OODBMS), sometimes referred as Object Database Management System (ODMS) is a Database Management System (DBMS) that supports modeling and creation of data as objects. OODBMS provides support for object classes, class property and method inheritance by sub classes and their objects. A Relational Database Management System (RDBMS) is also a DBMS but, that is based on the relational model. Most popular DBMSs currently in use are RDMSs.

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 RDBMS 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 RDBMS. Firstly, all information must be held in the form of a table. Secondly, each value found in the table columns should not be repeated and finally the Standard Query Language (SQL) must be used. 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 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 RDMS.

OODBMS is a DBMS which allows information to be represented in the form of objects as used in object-oriented programming. OODBMSs were developed in 1980s to overcome the limitations in RDMSs such as handling large and complex data. OODBMSs provide an integrated application development environment by joining object-oriented programming with database technology. OODBMSs enforce object oriented programming concepts such as encapsulation, polymorphism and inheritance as well as database management concepts such as Atomicity, Consistency, Isolation and Durability. Object-oriented languages such as Java, C#, Visual Basic .NET and C++ can work well with OODBMSs. Since both the programming language and OODBMS use the same object-oriented model, the programmers can maintain the consistency easily between the two environments.

Even though RDBMS and OODBMS are both DBMSs they differ in the model they use to represent data. OODBMSs use object-oriented model while the RDBMSs use the relational model. Both of them have their own advantages and drawbacks. OODBMS can store/ access complex data more efficiently than RDBMS. But learning OODBMS can be complex due to the object-oriented technology, compared to learning RDBMS. Therefore choosing one over the other is dependent on the type and complexity of data that needs to be stored/ managed.