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:
- Relational database
- Popular non-relational models (NoSQL)
- NoSQL
- Network model
- Hierarchical model
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.