Data models are a conceptual representation of how data is organised and structures. They define what types of data (entities) are present and their relationships within a system. They also act as a blueprint for organising data, outlining elements, their properties, and how they connect with each other.

They’re an important part of software engineering, since they affect how the software is written but also how we tackle the problem we’re solving. Model types reflect assumptions on how the data is going to be used.

There are a few types of general-purpose data models:

Difference with databases

Data models are blueprints. They define generally how things will look like. Databases are the actual implementation based on the model. It uses specific storage structures and software to create a usable, interfaceable object.