Link to home
Start Free TrialLog in
Avatar of murali_vmk
murali_vmk

asked on

Difference between DBMS and RDBMS

I want to know the exact difference between DBMS and RDBMS.

what is the advantage of having relationships in a Database Management System

Avatar of Pierce9
Pierce9

The relationships offer you the ability to manage business rules in your database with minimal coding.  For instance a foreign key insures that a value assigned already exists in another table with creating code to ensure the validity.  For example.

Emp
-------
EMP_ID
DEPT_ID     FK to DEPT.DEPT_ID

Dept
-------
DEPT_ID
DEPT_NAME

This foreign key ensures that any value place in the DEPT_ID field in the Emp table already exists as a valid DEPT_ID in the Dept table....without the FK relationship you would have to create much code to ensure these types of data validations take place.  Hope this helps or at least gets things started.
One thing to consider and I'm not sure about if this specifically addresses your questions has to do with flat file databases and DBMS's.

A flat file database, like Access or Dbase or any file based database system relies on the client to do the processing. When you execute a query, the data is sent over the network from the flat files and is processed on the client.

A DBMS is a process running on a server. You make a request to the DBMS and it accesses the data, processes your query and only returns the result set.

A huge difference!
Avatar of Guy Hengel [angelIII / a3]
The R in RDBMS stands for Remote (and not Relationship). Thus, all databases that can run on a server (really on a server), can be called RDBMS:
* Oracle
* SQLServer
* Sybase
* others
Cannot be considered as RDBMS:
* Access
* Excel
* Flat files
* ...

You could go and implement a Remote Component to "hide" access and put that on a server, this would again be a RDBMS.
Cheers
Actually, the R stands for Relational (honest!)

Check it out at http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?query=rdbms
I withdraw my comment (and create an entry in my calendar for review of such things)
sorry
ASKER CERTIFIED SOLUTION
Avatar of rbramhane
rbramhane

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Just about any system that provides facilities for defining the structure of stored data and that provides routines for manipulating that data can be called a DBMS.  This includes just about any off-the-wall cheap built-in-my-garage-on-sundays freeware up to expensive enterprise systems like those offered by Oracle, Sybase, and Microsoft.  

The R stands for relational.  Relational databases are based on relational set theory.  A computer scientist named Codd published a famous set of rules (12 of them at the time, since extended) that defined what it means to be relational.  DBMS that claim to be relational usually meet some or all of these criteria, and frequently violate other criteria.    Strictly speaking an R-DBMS does not have to implement Sql as its primary language, but most do.  In my opinion, recognition of NULL as a special value is an important feature of DBMS that want to make this claim, because without that recognition many of the principles developed in set theory become inapplicable to the system.

The R attribute has been claimed by the marketers of dBase (and all xBase), Access, Paradox, and many other desktop dbms.  And yes, they do meet some of the criteria.

In times past, the popular database models were Hierarchical and Network.  These are rarely seen today, except in large mainframe shops still using IBM's DB/DC.  These days about the only popular DBMS that don't claim to be relational are those that claim to be "Object" or "OO".  Jumping on the bandwagon, some dbms that have previously been tagged as R have added features so that they can now call themselves Object-Relational.  Often, the ability to execute Java code, and store java objects in the db is considered necessary in order to make the O claim.

 
I will add that whether the DBMS process runs on a server or not is not really a criteria for identifying the DBMS as relational.  True, there is a correlation between ability to run as a server process and the products with the best relational implementations, but it is only a correlation.