# Difference between Hierarchical, Network and Relational Data Model

**1. Hierarchical Data Model :** Hierarchical data model is the oldest type of the data model. It was developed by IBM in 1968. It organizes data in the tree-like structure. Hierarchical model consists of the following :

- It contains nodes which are connected by branches.
- The topmost node is called the root node.
- If there are multiple nodes appear at the top level, then these can be called as root segments.
- Each node has exactly one parent.
- One parent may have many child.

**Figure –** Hierarchical Data Model

In the above figure, Electronics is the root node which has two children i.e. Televisions and Portable Electronics. These two has further children for which they act as parent. For example: Television has children as Tube, LCD and Plasma, for these three Television act as parent. It follows one to many relationship. **2. Network Data Model :** It is the advance version of the hierarchical data model. To organize data it uses directed graphs instead of the tree-structure. In this child can have more than one parent. It uses the concept of the two data structures i.e. Records and Sets. **Figure –** Network Data Model

In the above figure, Project is the root node which has two children i.e. Project 1 and Project 2. Project 1 has 3 children and Project 2 has 2 children. Total there are 5 children i.e Department A, Department B and Department C, they are network related children as we said that this model can have more than one parent. So, for the Department B and Department C have two parents i.e. Project 1 and Project 2. **3. Relational Data Model :** The relational data model was developed by E.F. Codd in 1970. There are no physical links as they are in the hierarchical data model. Following are the properties of the relational data model :

- Data is represented in the form of table only.
- It deals only with the data not with the physical structure.
- It provides information regarding metadata.
- At the intersection of row and column there will be only one value for the tuple.
- It provides a way to handle the queries with ease.

**Figure –** Relational Data Model**Difference between Hierarchical, Network and Relational Data Model :**

Hierarchical Data Model | Network Data Model | Relational Data Model |
---|---|---|

In this model, to store data hierarchy method is used. It is the oldest method and not in use today. | It organizes records to one another through links or pointers. | It organizes records in the form of table and relationship between tables are set using common fields. |

To organize records, it uses tree structure. | It organizes records in the form of directed graphs. | It organizes records in the form of tables. |

It implements 1:1 and 1:n relations. | In addition to 1:1 and 1:n it also implements many to many relationships. | In addition to 1:1 and 1:n it also implements many to many relationships. |

Insertion anomaly exits in this model i.e. child node cannot be inserted without the parent node. | There is no insertion anomaly. | There is no insertion anomaly. |

Deletion anomaly exists in this model i.e. it is difficult to delete the parent node. | There is no deletion anomaly. | There is no deletion anomaly. |

This model lacks data independence. | There is partial data independence in this model. | This model provides data independence. |

It is used to access the data which is complex and asymmetric. | It is used to access the data which is complex and symmetric. | It is used to access the data which is complex and symmetric. |

&XML and XAML use this model. | VAX-DBMS, DMS-1100 of UNIVAC and SUPRADBMS’s use this model. | It is mostly used in real world applications. Oracle, SQL. |