Sunday 15 July 2012

Comparison between DBMS and RDBMS

Sunday 15 July 2012
Difference between DBMS and RDBMS:
In general if we categorically consider two types of Database, one is DBMS and another is RDBMS. In general term DBMS stands for Database Management System to control the storage of data and RDMBS stand for Relational Database Management System. This is the most common form of DBMS.
In 1969-1970s, Edgar Frank Codd introduced the theory of relational database. The only way to view the data is as a set of tables. Because there can be relationships between the tables, people often assume that is what the word "relational" means. Not so. Codd was a mathematician and the word "relational" is a mathematical term from the science of set theory. It means, actually "based on tables".
DBMS provides a systematic and a organized way of storing, managing and retrieving information from a logically related information collection. RDBMS also provides what DBMS provides with extended feature called Integrity Relationship or Relational Integrity or Termed as Referential Integrity.
We can conceptually visualize as:
RDBMS       =        DBMS                    +        Referential Integrity


Fig-1: Relationship
In the example above figure every Developer have a project which showing or indicating a referential integrity between ‘Developer’ and ‘Project’. If we omit this referential integrity in DBMS and File’s, it will allow you, but in RDBMS, it will restrict you from saving data if we have defined the referential integrity between these two entities. By establishing “Foreign Keys” we maintain this relationship in any RDBMS.

Database has to be persistent, meaning that the information stored in a database has to continue to exist even after the application(s) that saved and manipulated the information have ceased to run. A database also has to provide some uniform methods that are not dependent on a specific application for accessing the information that is stored inside the database.
This is a pretty liberal definition of a database. Lotus Notes calls its message stores "databases", and by this definition they qualify. There are a number of new database technologies that include object-oriented databases and associative databases, and they seem to qualify as databases under this definition too.
If we consider Text or flat binary files don't qualify as databases under this definition, since only the application that created one of these files knows enough about the file's contents to make use of the information stored within the file. They meet the persistence part of the DBMS definition, but not the independent access part of the definition.
Other "standards" like the Berkeley DB format supported by Perl, Python, and related languages do more or less qualify as a DBMS. While it isn't what most people think of when they think about DBMS setups, it does meet both the persistence and uniform access conditions for a DBMS.
An RDBMS is a Relational Data Base Management System. This adds the additional condition that the system supports a tabular structure for the data, with enforced relationships between the tables. This excludes the databases that I've listed so far since they either don't support a tabular structure at all, or don't enforce relationships between tables.
Microsoft's Jet database engine qualifies as an RDBMS under this definition, even though it seems like the majority of its users ignore the "relational" side of the engine by failing to declare foreign keys. Individual FoxPro files do not qualify because they don't have any built-in method for declaring or supporting relationships, even though nearly every FoxPro system I've ever seen expects or relies on these relationships.
Most DBAs think of an RDBMS as a client/server system. The database engine runs on a server, and client applications connect and request data from the server. Microsoft SQL Server, Oracle, DB2, and most of the other "industrial grade" databases in use today use this mental model.
Summarizing the topics as point to point:
DBMS:
A DBMS is a storage area that persist the data in files. To perform the database operations, the file should be in use.
Relationship can be established between 2 files.
There are limitations to store records in a single database file depending upon the database manager used.
DBMS allows the relations to be established between 2 files.
Data is stored in flat files with metadata.
DBMS does not support client / server architecture.
It does not support distributed architecture. It can share the data server to the client.
DBMS does not follow normalization. Only single user can access the data.
DBMS does not impose integrity constraints.
ACID properties of database must be implemented by the user or the developer
RDBMS:
RDBMS stores the data in tabular form.
It has additional condition for supporting tabular structure or data that enforces relationships among tables.
RDBMS supports client/server architecture.
It supports distributed architecture. It can share the data server to the client.
RDBMS follows normalization.
RDBMS allows simultaneous access of users to data tables.
RDBMS imposes integrity constraints.
ACID properties of the database are defined in the integrity constraints.
N.B:
“ACID” is a set of rule which are laid down to ensure that Database Transaction is reliable.
IT stands for:
A        ->       Atomicity
C       ->       Consistency
I         ->       Isolation
D       ->       Durability
We will focus on this topic in another future blog.

1 comment:

  1. Amazing article. This is an in depth article that helped me to actually understand the differences. I have also found another good tutorial for Difference Between DBMS and RDBMS. Your readers will surely benefit from it.

    ReplyDelete