Data modelling is often the first step in database design and object-oriented programming as the designers first create a conceptual model of how data items relate to each other. Data modelling involves a progression from conceptual model to logical model to physical schema.
Typed of Data modelling:
- Conceptual Data modelling.
- Logical Data modelling.
- Physical Data modelling.
Conceptual Data Modelling:-
A conceptual data model is a summary-level data model that is most often used on strategic data projects. It typically describes an entire enterprise. Due to its highly abstract nature, it may be referred to as a conceptual model.
It is created by gathering business requirement from various sources like business documents, discussions with teams etc. It is done during initial phase of planning. Conceptual modelling mainly deals with defining entity names and entity relationships. It is basically defining the mode at high level.
Logical Data Modelling:-
A logical data model is a fully-attributed data model that is independent of DBMS, technology, data storage or organizational constraints. It typically describes data requirements from the business point of view. While common data modelling techniques use a relational model notation, there is no requirement that resulting data implementations must be created using relational technologies.
It typically describes data requirements for a single project or major subject area and contains relationships between entities that address cardinality and nullability (optionality) of the relationships. It defines primary keys, foreign keys and attributes for entities.
Physical Data Modelling:-
A physical data model is a fully-attributed data model that is dependent upon a specific version of a data persistence technology. The target implementation technology may be a relational DBMS, an XML document, a NoSQL data storage component, a spreadsheet or any other data implementation.
It will also include other physical objects such as views, primary key constraints, foreign key constraints, indexes, table names, column names, column data types, security roles, store procedures, XML extensions, file stores.
Difference between types of Data Modelling:-