> For the complete documentation index, see [llms.txt](https://adkdians.gitbook.io/database-management-system/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://adkdians.gitbook.io/database-management-system/2.-data-models/the-importance-of-data-models.md).

# The importance of data models

## Data Models in DBMS

Nowadays, all enterprises require properly defined and formatted data to bring all the segments of an enterprise - IT, Management, and others together. Data models play a key role in solving this problem as they represent an enterprise's data and connections between them in a pictorial form.

In this article, we will be learning about **data models in a** [**DBMS**](https://www.scaler.com/topics/dbms/), **types of data models in DBMS**, and **their advantages and disadvantages**.

### What are Data Models in DBMS? <a href="#what-are-data-models-in-dbms" id="what-are-data-models-in-dbms"></a>

**Data models in DBMS help to understand the design at the conceptual, physical, and logical levels as it provides a clear picture of the data making it easier for developers to create a physical database.**

Data models are used to describe how the data is stored, accessed, and updated in a DBMS. A set of symbols and text is used to represent them so that all the members of an organization can understand how the data is organized. It provides a set of conceptual tools that are vastly used to represent the description of data.

There are many types of data models that are used in the industry.

### Types of Data Models in DBMS <a href="#types-of-data-models-in-dbms" id="types-of-data-models-in-dbms"></a>

#### Hierarchical Model <a href="#hierarchical-model" id="hierarchical-model"></a>

The hierarchical data model is one of the oldest data models, developed in the 1950s by IBM. In this data model, the data is organized in a hierarchical tree-like structure. This data model can be easily visualized because each [record in DBMS](https://www.scaler.com/topics/record-in-dbms/) has one parent and many children (possibly 0) as shown in the image given below.

<img src="https://scaler.com/topics/images/hierarchical-model.webp" alt="Hierarchical Model" width="375">

The above-given image represents the data model of the Vehicle database, vehicle are classified into two types Viz. two-wheelers and four-wheelers and then they are further classified.

The main drawback we can see here is we can only have one too many relationships under this model, hence the hierarchical data model is very rarely used nowadays.

#### Network Model <a href="#network-model" id="network-model"></a>

A network model is nothing but a **generalization of the hierarchical data model** as this data model allows many to many relationships therefore in this model a record can also have more than one parent.

The [network model in DBMS](https://www.scaler.com/topics/network-model-in-dbms/) can be represented as a graph and hence it replaces the hierarchical tree with a graph in which object types are the nodes and relationships are the edges.

For example -&#x20;

<figure><img src="https://scaler.com/topics/images/network-model.webp" alt=""><figcaption></figcaption></figure>

Here you can see all three departments are linked with the director which was not possible in the hierarchical data model.

In the network model, there can be many possible paths to reach a node from the root node (College is the root node in the above case), therefore the data can be accessed efficiently when compared to the hierarchical data model. But, on the other hand, the process of insertion and deletion of data is quite complex.

#### Entity-Relationship Model (ER Model) <a href="#entity-relationship-model-er-model" id="entity-relationship-model-er-model"></a>

**An Entity-Relationship model is a high-level data model that describes the** [**structure of the database**](https://www.scaler.com/topics/structure-of-dbms/) **in a pictorial form which is known as ER-diagram.** In simple words, an ER diagram is used to represent logical structure of the database easily.

ER model develops a conceptual view of the data hence it can be used as a blueprint to implement the database in the future.\
Developers can easily understand the system just by looking at ER diagram. Let's first have a look at the components of an ER diagram.

* **Entity -** Anything that has an independent existence about which we collect the data. To learn more about **Entity in DBMS** click [here](https://www.scaler.com/topics/entity-in-dbms/).

*They are represented as rectangles in the ER diagram.* For example - Car, house, employee.

* **Entity Set -** A set of the same type of entities is known as an entity set. For example - Set of students studying in a college.
* **Attributes -** Properties that define entities are called attributes. *They are represented by an ellipse shape.*
* **Relationships -** A [relationship in DBMS](https://www.scaler.com/topics/types-of-relationship-in-dbms/) is used to describe the association between entities. *They are represented as diamond or rhombus shapes in the ER diagram.*

<img src="https://scaler.com/topics/images/Entity-Relationship-model.webp" alt="Entity-Relationship model" height="200" width="864">

In the above-represented ER diagram, we have two entities that are Employee and Company, and the relationship among them. Also, in the above-represented ER diagram, we can see that both the employee and company have some attributes and the relationship is of "works in" type, which means the employee works in a company.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://adkdians.gitbook.io/database-management-system/2.-data-models/the-importance-of-data-models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
