Refresher on data modelling concepts
Data
January 22, 2023
Data Modelling
Just a refresher on some data modelling concepts.
Data modelling is the process of creating a data model for an information system. This is done by applying formal data modelling techniques.
Data Model
A data model is a conceptual representation of the data structures that are required by a database. It is a way to describe the design of the database.
Data Modelling Techniques
There are several data modelling techniques that can be used to model data. Some of the most common techniques include:
- Entity-Relationship Diagrams (ERD)
- UML Class Diagrams
- Data Flow Diagrams (DFD)
- Object Role Modelling (ORM)
- Dimensional Modelling
Entity-Relationship Diagrams (ERD)
- An Entity-Relationship Diagram (ERD) is a type of data model that is used to describe the structure of a database. It is a graphical representation of the entities and their relationships to each other. ERD’s enable a visual model of the entities (data objects) and relationships within a system. It helps visualize data structures and their interactions, providing a foundation for logical and physical data model development.
UML Class Diagrams
- A UML Class Diagram is a type of data model that is used to describe the structure of a system. It is a graphical representation of the classes and their relationships to each other.
Data Flow Diagrams (DFD)
- A Data Flow Diagram (DFD) is a type of data model that is used to describe the flow of data through a system. It is a graphical representation of the processes, data stores, and data flows in a system.
Object Role Modelling (ORM)
- Object Role Modelling (ORM) is a type of data model that is used to describe the structure of a system. It is a graphical representation of the objects and their roles in the system.
Dimensional Modelling
- Dimensional Modelling is a type of data model that is used to describe the structure of a data warehouse. It is a graphical representation of the dimensions and facts in the data warehouse.
Other important data modelling concepts relate to the different types of data models, such as conceptual, logical, physical, semantic and integration data models. These models are used to describe the different levels of abstraction in the data model.
Conceptual Data Model
- A conceptual data model is a high-level data model that is used to describe the overall structure of the data in an information system. It is a way to describe the data requirements of the system without getting into the details of how the data will be stored or implemented.
Logical Data Model
- A logical data model is a detailed data model that is used to describe the data requirements of an information system at a more detailed level. It is a way to describe the data requirements of the system in a way that is independent of any specific database management system. It emphasises a business-oriented representation of data, focusing on entities, attributes, and relationships without considering specific implementation details. It defines what data is needed and how it relates, independent of storage or access methods.
Physical Data Model
- A physical data model is a detailed data model that is used to describe the data requirements of an information system at the level of how the data will be stored and implemented. It is a way to describe the data requirements of the system in a way that is specific to a particular database management system. In other words, a physical data model represents a blueprint for implementing the logical model in a specific database management system (DBMS). It defines how data is stored, including data types, constraints, and access methods.
Semantic Data Model
- A semantic data model is a detailed data model that is used to describe the meaning of the data in an information system. It is a way to describe the data requirements of the system in a way that is independent of any specific database management system. In essence, semantic data model capture the meaning of data, including data definitions, business rules, and constraints. It provides a richer understanding of the data beyond just structure and helps ensure data consistency.
Integration Data Model
- An integration data model is a detailed data model that is used to describe the integration of data from different sources in an information system. It defines how data from multiple, heterogeneous sources is combined and reconciled into a unified view. It addresses data inconsistencies, redundancies, and schema differences to create a consistent data landscape.
Data Normalisation
- Data normailsation is also an important concept in data modelling. It is the process of organising data in a database to reduce redundancy and improve data integrity. It involves breaking down a table into smaller tables and defining relationships between them.
A final consideration in this article is the different types of data models, such as relational, hierarchical, network, object-oriented, and NoSQL data models. These models are used to describe the different ways that data can be structured and stored.
Relational Data Model
A relational data model is a type of data model that is used to describe the structure of a database. It is a way to describe the data requirements of the system in a way that is based on the concept of relations (tables) and the relationships between them. It is the most widely used data model today.
Hierarchical Data Model
A hierarchical data model is a type of data model that is used to describe the structure of a database. It is a way to describe the data requirements of the system in a way that is based on a tree-like structure of data.
Network Data Model
A network data model is a type of data model that is used to describe the structure of a database. It is a way to describe the data requirements of the system in a way that is based on a network-like structure of data.
Object-Oriented Data Model
An object-oriented data model is a type of data model that is used to describe the structure of a database. It is a way to describe the data requirements of the system in a way that is based on the concept of objects and their relationships to each other.
NoSQL Data Model
A NoSQL data model is a type of data model that is used to describe the structure of a database. It is a way to describe the data requirements of the system in a way that is based on the concept of non-relational databases. It is designed to handle large volumes of data and is often used in big data and real-time applications.
Conclusion
Data modelling is an important part of the database design process. It helps to ensure that the database is designed in a way that is efficient, flexible, and easy to use. By using formal data modelling techniques, it is possible to create a data model that accurately represents the data requirements of an information system.