Data Modelling
After my article last week, I had people ask me do explain data modelling a little further, so here goes, Data modelling is the process of creating a conceptual representation of how data is stored and accessed in a database system. It involves defining the structure of the data, the relationships between different pieces of data, and the constraints that govern the data's behaviour. Data modelling is a crucial step in the database design process, as it helps ensure that the database meets the requirements of its users and applications.
There are several types of data models, including:
1. Conceptual Data Model: This represents high-level concepts and relationships between different types of data. It doesn't concern itself with the technical aspects of implementation, focusing instead on understanding the business requirements and how data entities relate to each other.
2. Logical Data Model: This defines the structure of the data in terms of entities, attributes, and relationships. It is more detailed than the conceptual model and often includes entity-relationship diagrams (ERDs) to visualize the relationships between different entities.
3. Physical Data Model: This describes how the data is actually stored in the database system. It includes details such as data types, indexing, partitioning, and storage mechanisms. Physical data models are specific to the database management system being used (e.g., MySQL, PostgreSQL, MongoDB) and may also include considerations for performance and scalability.
The process of data modelling typically involves the following steps:
Recommended by LinkedIn
1. Requirement Gathering: Understanding the requirements of the database system, including the types of data to be stored, the relationships between different data entities, and the constraints that need to be enforced.
2. Conceptual Modelling: Creating a high-level conceptual model that captures the essential elements of the data and their relationships, often using techniques like entity-relationship modelling.
3. Logical Modelling: Refining the conceptual model into a more detailed logical model that defines the structure of the data in terms of entities, attributes, and relationships. This may involve normalizing the data to reduce redundancy and improve efficiency.
4. Physical Modelling: Translating the logical model into a physical model that specifies how the data will be stored and accessed in the database system. This includes defining tables, columns, indexes, and other database objects.
5. Validation and Iteration: Reviewing the data model to ensure that it meets the requirements of the stakeholders and refining it as necessary based on feedback and changes in requirements.
Overall, data modelling is a critical aspect of database design that helps ensure the integrity, efficiency, and effectiveness of the database system. It provides a blueprint for organizing and managing data, facilitating communication between stakeholders and developers, and ultimately supporting the goals of the organization. This article relates specifically to a database design and is more suited to a relational schema data model, nowadays with the proliferation of data analytics and by extension AI another model namely the star scheme is more relevant, in my next article I will explain what exactly the star scheme is, how it differs from the relational schema, and why it is a better model to use for Data Analytics and AI.