What is the difference between relational database management system (RDBMS) and object oriented database (OODB) systems?
A relational database is a collection of data that is organized so that its contents can easily be retrieved, managed and updated as needed.
Relational Database Management Systems (RDBMS) have been successful in handling structured data. However, they are not suitable for applications with complex data structures and behaviors. Moreover, we cannot add new data types for large and unstructured objects using the traditional DBMS. That means RDBMSs are not appropriate to store, process and retrieve data from applications such as Computer-Aided Design/Manufacturing (CAD/CAM), Computer-Aided Software Engineering (CASE), Geographic Information Systems (GIS), and multimedia contents (imaging and graphics, audios, videos, etc.). That is where the very notion of OODB comes into play.
OODB assumes many features of the RDBMS, such as persistence, concurrency, recovery procedures, querying, and storage management. And it adds advanced features and concepts such as types and classes, overriding and overloading, complex objects, object identity, extensibility, and encapsulation features.
In OODBs we employ objects, instance variables, class hierarchies, collections, OIDs (object IDs), messages and methods. Whereas in RDBMSs, we use notions such as tuples, columns, attributes, schema, relations, keys (Primary, foreign), procedures, and so on