Evolution of Database Models

Before databases were used, the only way to store data was files. Programmers had to write complex programs to perform parsing and relating. Accessing the data from files is a challenging task.


Without a standard way to access data, systems are more prone to errors, are slower to develop, and are more difficult to maintain.

Issues with Storing Data in Files

  • Data redundancy: Data is duplicated unnecessarily.
  • Poor data integrity: Data is not changed in all locations, leading to wrong or outdated data being supplied.

Database Management Systems

Database management systems (DBMS) were developed to provide a standard and reliable way to access and update data. A database model is a logical model concerned with how the data is represented.

Hierarchical Database Model

The earliest model was the hierarchical database model, resembling an upside-down tree. Each record has a single parent and multiple children.

It is similar to how most file systems work. There is usually a root, or top-level directory, that contains various other directories and files. This model has some disadvantages. It represents one-to-many relationships well (one parent has many children), but it has problems with many-to-many relationships.

Network Database Model

The network model extends the hierarchical model by allowing each record to have multiple parents, enabling more complex relationships between data entities. Instead of only allowing each child to have one parent, this model allows each child to have multiple parents. It addresses the need to model many-to-many relationships.

Relational Database Model

Instead of relying on a parent-child or owner-member relationship, the relational model allows any table to be related to any other. It introduced the concept of organizing data into tables (relations) consisting of rows (tuples) and columns (attributes). Relationships between tables are established through keys.