Ask the Expert

Difference between a DBMS and RDBMS

What is the difference between a DBMS and a RDBMS? Though this a very basic question, I have been unable to locate a satisfying answer.


    Requires Free Membership to View

A 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 data 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. MUMPS calls its associative storage a database, and while it takes a bit of a stretch, even that meets this definition. 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.

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 (both the Z series and the UDB product), and most of the other "industrial grade" databases in use today use this mental model.

No discussion of RDBMS would be complete without mentioning "An Introduction to Database Systems" by Chris Date. This is the present incarnation of the book that originally defined the Relational Model as Edgar F. Codd defined it. You can read more at the Learning Zone.

For More Information

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: