There’s a lot of confusion regarding the difference between an RDBMSs and a DBMS. I’ve even seen “RDBMS vs DBMS” forum posts where the accepted answer outlines the differences between RDBMSs and DBMSs, as though they were two distinct and different things.
However, this can be misleading.
The fact is, an RDBMS is a DBMS. But a DBMS is not always an RDBMS (but it often is).
So, is there a difference between an RDBMS and a DBMS or not? Is “RDBMS vs DBMS” the right way of looking at it, or is there more to it?
First, let’s look at the definitions of each.
What is a DBMS?
DBMS stands for Database Management System. It’s an application that enables the creation and administration of databases. Database management system is a broad term that includes any system that performs that function.
What is an RDBMS?
RDBMS stands for Relational Database Management System. In other words, it’s a DBMS with relational added to the front. This is a particular type of DBMS that uses a relational model for its databases. An RDBMS therefore enables you to create relational databases.
Conclusion: RDBMS vs DBMS
- The letter “R” stands for “relational” and therefore makes it a relational DBMS.
- RDBMS is a subset of DBMS. An RDBMS is simply a DBMS with the letter “R” prefixed.
- An RDBMS is always a DBMS.
- A DBMS is not always an RDBMS.
In other words, an RDBMS is simply one of the many types of DBMS.
Although the most popular DBMSs are of the relational model, few commercial RDBMSs actually adhere to all of Codd’s 12 rules of a relational database management system. These systems typically satisfy some of the rules but not all. Some purists refer to these as Pseudo Relational Database Management Systems (PRDBMS), while referring to any DBMS that satisfies all of the Codd’s 12 rules as being a Truely-Relational Database Management System (TRDBMS).
Although RDBMS has been the most popular database model since the 1980s, there are many other DBMS types. For example, OODBMS, ORDBMS, flat file, hierarchical, network, as well as a whole host of NoSQL database systems, such as column store, document store, graph, key-value, and more.