8 Oct 2020, 09:53
What is a conceptual data model?
Data modeling is the process of creating a visual representation of data that will be stored inside so-called databases. By using data models, you can ensure consistency in the labeling of entities, their attributes and their semantics. This means that data modeling can ensure a certain level of quality of the data. Data modeling can be performed on three distinct levels: conceptual, logical and physical.
A conceptual data model is a high-level overview of data created to identify entities and their relationships. Therefore, a conceptual data model defines what is in- and excluded in the database in a very abstract way. This implies that the purpose of a conceptual data model is to define, scope and organize different data entities and the relationships between them, without focusing on their characteristics.
Constructs in a conceptual data model
A conceptual data models consist of two main constructs: entities and their relationships. An entity can be seen as a representation of an object in the real world (e.g. a ‘book’ or ‘user’). In addition, entities can be associated or dependent on one another (e.g. books can be owned by a user). The characteristics of an entity are not specified in the conceptual data model. This means that the primary key (the unique defining aspect of that entity) is not specified in the conceptual data model as well.
Comparing conceptual data models to logical and physical data models
The logical and the physical data model are built on the foundations of the conceptual data model. Where the conceptual data model only consists of an abstract view on entities and relationships, the logical data model dives further into their respective attributes (e.g. ‘title’ and ‘description’ for a book), primary and foreign keys and adds definitions to the relationships between different entities (e.g. a book can only be owned by one user). Furthermore, physical data models take a look into how the data will be implemented from a technical perspective into the database.