What are the differences and commonalities if any between network, hierarchical and relational data models? Some...
of the areas that can be compared are:
- Support of 1:1 and 1:M relationships
- Recursive relationships
- Referential integrity
- Flexibility to changing data and access requirements
- Access to record types
The hierarchical model is not like the other two models you asked about. In the hierarchical model, data is stored in a defined hierarchy. For instance, a company is made of departments and each department has employees. So a tree strucutre is created with the company at the root of the tree. To get to all employees in the company, one would have to traverse the entire tree. Click here for more information on the hierarchical model. The hierarchical model does exist today, but typically in legacy applications.
The network model was the first attempt to address the inefficiencies of the hierarchical model. In the network model, you could create a network showing how data related to each other. The network model never caught on, and was eventually replaced by the relational model. Click here for more information on the network model.
The relational model has proven to be the most efficient and most flexible database model in use today. There are many advantages of the relational model over the other models, which is why the most popular databases in use today employ this methodology. Click here for more information on the relational model.
The hierarchical model really only implements 1:1 relations, as defined in the strict hierarchy. The other two models do implement 1:m relationships.