Difference Between DBMS and RDBMS
Difference Between DBMS and RDBMS
DBMS RDBMS
Not all Codd rules are satisfied. All 12 Codd rules are satisfied.
Database Model
A Database model defines the logical design and structure of a
database. It defines how data will be stored, accessed, and updated in a
database management system.
As per your application's requirement, you can use a database model to
define your database.
There are different types of Database models and each one has its own
set of features.
You can define how you want to structure the application data using a
database model.
Type of Database models
1. Hierarchical Model
2. Network Model
3. Entity-relationship Model
4. Relational Model
5. Object-oriented Model
6. NoSQL Model
7. Graph Model
1. Hierarchical Model
The hierarchical database model organizes data into a tree-like
structure, with a single root, to which all the other data is linked.
The hierarchy starts from the Root data, and expands like a tree,
adding child nodes to the parent nodes.
In this model, a child node will only have a single parent node.
This model efficiently describes many real-world relationships like
the index of a book, etc.
IBM's Information Management System (IMS) is based on this model.
Data is organized into a tree-like structure with a one-to-many
relationship between two different types of data, for example,
one department can have many courses, many teachers, and of course
many students(like shown in the diagram below).
Advantages/Disadvantages of the Hierarchical Model
Here are a few points to mark the advantages and disadvantages of the
Hierarchical database model:
1. Because it has one-to-many relationships between different types of
data so it is easier and fast to fetch the data.
2. But the Hierarchical model is less flexible.
3. And it doesn't support many-to-many relationships.
2. Network Model
Also, as the data is more related, hence accessing the data is also
easier and fast.
3. Entity-relationship Model
In this database model, relationships are created by dividing objects of
interest into entities and their characteristics into attributes.
Different entities are related using relationships.
ER Models are defined to represent the relationships in pictorial form to
make it easier for different stakeholders to understand.
This model is good to design a database, which can then be turned into
tables in a relational model (explained below).
Advantages of the ER Model
1. It is easy to understand and design.
2. Using the ER model, we can represent data structures easily.
3. As the ER model cannot be directly implemented into a database model,
it is just a step toward designing the relational database model.
4. Relational Model
This model was introduced by E.F Codd in 1970, and since then it has
been the most widely used database model.
The basic structure of data in the relational model is tables. All the
information related to a particular type is stored in rows of that table.
Some of the most popular databases are based on this database model.
For example, Oracle, MySQL, etc.
Advantages of the Relational Model
1. It's simple and easy to implement.
2. Poplar database software is available for this database model.
3. It supports SQL using which you can easily query the data.
5. Object-oriented Model
In this model, data is stored in the form of objects.
The behaviour of the object-oriented database model is just like object-
oriented programming.
A very popular example of an Object Database management system
or ODBMS is MongoDB which is also a NoSQL database.
This database model is not mature enough as compared to the relational
database model.
Advantages of the Object-oriented Model
1. It can easily support complex data structures, with relationships.
2. It also supports features like Inheritance, Encapsulation, etc.
6. NoSQL Model
The NoSQL database model supports an unstructured style of storing
data.
Data is stored as documents.
The documents look more like JSON strings or Key-value based object
representations.
It provides a flexible schema.
It does provide features like indexing, relationships between data, etc.
The support for data querying is limited in the NoSQL database model.
This database model is well-suited for Big data applications, real-time
analytics, CMS (Content Management systems), etc.
Advantages of the NoSQL Model
1. This database model is scalable.
2. This database model functions with high performance.
3. The NoSQL database model can handle large volumes of data.
7. Graph Model
The Graph database model is based on more real-world like
relationships.
Data is represented using Nodes or entities.
The nodes are related using edges.
The popular database Neo4j is based on the Graph database model.
If your application has simple data requirements, then you should not
use the graph database model.
In modern applications like social networks, recommendation systems,
etc. the graph database model is well-suited.
Advantages of the Graph Model
1. It handles complex relationships very well.
2. In the modern world where there is so much data and the data has to be
related in different ways; the graph database model is very useful.