Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between a Relational and Non-Relational Database?

I know that solutions like MySQL, PostgreSQL and MS SQL Server are relational database systems, and NoSQL, MongoDB, etc. are Non-Relational DBMS.

However, what are the differences between the two types of system ?

Layman terms are preferable.

Thanks.

like image 214
marcamillion Avatar asked Jan 27 '11 00:01

marcamillion


People also ask

What is the primary difference between a relational and a non relational database in terms of normalization?

The main difference between the two is a type of used structure. Relational databases use tables that are all connected to each other. Non-relational databases, on the other hand, are document-oriented.

What is a non relational database example?

Non-relational/NoSQL databases: They have the ability to capture all types of data “Big Data” including unstructured data. They are document oriented. NoSQL or non-relational databases examples:MongoDB, Apache Cassandra, Redis, Couchbase and Apache HBase. They are best for Rapid Application Development.

What is meant by non relational database?

A non-relational database is a database that does not use the tabular schema of rows and columns found in most traditional database systems. Instead, non-relational databases use a storage model that is optimized for the specific requirements of the type of data being stored.


1 Answers

Hmm, not quite sure what your question is.

In the title you ask about Databases (DB), whereas in the body of your text you ask about Database Management Systems (DBMS). The two are completely different and require different answers.

A DBMS is a tool that allows you to access a DB.

Other than the data itself, a DB is the concept of how that data is structured.

So just like you can program with Oriented Object methodology with a non-OO powered compiler, or vice-versa, so can you set-up a relational database without an RDBMS or use an RDBMS to store non-relational data.

I'll focus on what Relational Database (RDB) means and leave the discussion about what systems do to others.

A relational database (the concept) is a data structure that allows you to link information from different 'tables', or different types of data buckets. A data bucket must contain what is called a key or index (that allows to uniquely identify any atomic chunk of data within the bucket). Other data buckets may refer to that key so as to create a link between their data atoms and the atom pointed to by the key.

A non-relational database just stores data without explicit and structured mechanisms to link data from different buckets to one another.

As to implementing such a scheme, if you have a paper file with an index and in a different paper file you refer to the index to get at the relevant information, then you have implemented a relational database, albeit quite a simple one. So you see that you do not even need a computer (of course it can become tedious very quickly without one to help), similarly you do not need an RDBMS, though arguably an RDBMS is the right tool for the job. That said there are variations as to what the different tools out there can do so choosing the right tool for the job may not be all that straightforward.

I hope this is layman terms enough and is helpful to your understanding.

like image 175
asoundmove Avatar answered Oct 18 '22 01:10

asoundmove