Do you know about Data Modeling? A comprehensive overview

Tekos_Website-Do-you-know-about-data-modeling

Master the art of data modeling and transform your data into business levees. In this guide, you will delve into fundamental data modeling techniques, including entity-relationship (ER) diagrams, relational models, dimensional models for data warehouses, and flexible object-oriented approaches.

Learn how to choose the right technique for your specific needs, improve your database designs, data quality and take proper data-driven decisions. Whether you’re a data architect, analyst, or business leader, understanding data modeling is crucial for unlocking the full potential of your information assets.

Do you know about Data Modeling?

A data model is a visual representation of data elements and the relationships between them. Therefore, data models define how data is connected within business processes and support the creation of efficient information systems or applications.

Engineers use data models to create databases in the system. The more detailed and well-explained the data model is, the easier the engineers to follow the design, but the more time-consuming data model maintenance is.

Data model examples:

Entity-Relationship (ER) Data Model
Logical Data Model

What is Data Modeling?

Data modeling is the process of evaluating and defining different sources, types, and logic of data that is being used. Accordingly, data modeling is the process of creating a data model.

In general, data modeling acts as a well-defined roadmap for data management, helping organizations plan their data architecture more efficiently. Additionally, it supports stakeholders in better decision-making by providing ground for data analytics and facilitating it.

Similar to anything about data, the most important aspect of data modeling is stakeholders’ needs. Rules and requirements are defined upfront through feedback from stakeholders so they can be incorporated into the design of a new system or adapted in the iteration of an existing one. In reality, data modeling without sticking to them will cost a lot of time for multiple redesigns.

Data model types:

Database and information system design begins at a high level of abstraction and becomes increasingly more concrete and specific. Data models are categorized into three types based on the level of abstraction, following a three-stage process. Starting from a conceptual model, then to a logical model, and ending with a physical model.

Conceptual data models

Acting as an overview of the relationship between objects, and domains in a database, conceptual data models establish the organization and rules within the system. Typically, these models are created during the initial requirements collection process of a project.

The visualization of conceptual data models commonly includes objects’ (also called “tables”) characteristics, constraints, and relationships. In other words, it includes big names with lines connecting them and some notes of general logic.

Conceptual Data Model

Logical data models

Logical data models are the more detailed version of conceptual data models. Adding data attributes (also called “column names”) to the objects (tables), and defining which attributes are the connections between the objects turn data models from conceptual to logical.

No, or nearly no technical system requirements are included. Logical data models can be useful in highly procedural implementation environments, or for projects that are data-oriented by nature, such as data warehouse design or reporting system development. However, in practice, data model designers tend to skip creating logical data models and jump straight to physical data models.

Logical Data Modeling

Physical data models

Physical data models are the most detailed and highest technical versions. This is typically the final version of data models, including database management system (DBMS) technical terms and specifications, that engineers can directly apply the design to create tables in databases.

The data model will illustrate the relationship types through the primary keys and foreign keys, and provide specific data types, exact tables, and column names. Table indexes may be also included. Because of high technical requirements, the data model designers should have a considerable level of DBMS knowledge.

Physical Data Modeling

Data Modeling common techniques

Data modeling techniques are different ways of data modeling. They contain collections of structural visual characteristics that set them apart from each other. Here are some common techniques that I have used or encountered in my work experience:

Entity-relationship (ER) data model

It uses formal diagrams to represent the relationships between entities in a database. Several ER modeling tools are used by data architects to create visual maps that convey database design objectives.

The ER model contains three main components: entities, attributes, and relationships. Entity symbolizes a real-world entity (table), such as a person or location, and is displayed on tables. As for attributes, they explain the features (table column) of each entity, and what data related to the entity. A relationship is a connection between two or more entities that can take several forms, such as one-to-one, one-to-many, or many-to-many.

This is a very old technique that was used mostly for simple data models. The more complex ones tend to have multiple attributes (columns), and relationships, which makes it difficult to place a large number of objects in the ER data models.

[Tekos] Entity-relationship (ER) Data Model
Entity-relationship (ER) Data Model

Relational data model

The relational data model is very similar to the ER data model, the only difference is that the visualization of the relational data model is in the form of tables with rows and columns. It creates a clear look and simplifies the relationship logic of complex and big data models.

Modern data modeling techniques are mostly an extension of the relational data model technique. Moreover, data modeling tools also adopt this kind of visualization due to its flexibility.

Relational Data Model

Dimensional data model

Dimensional models are mostly used in data warehouse design to optimize a database for faster retrieval of information. They also help remove redundancy and inconsistencies, thus contributing to better data quality. This modeling is typically used across OLAP systems.

Two popular dimensional data models are the star schema, in which data is organized into facts (measurable items) and dimensions (reference information), where each fact is surrounded by its associated dimensions in a star-like pattern.

Star Schema Dimensional Data Model

The other is the snowflake schema, which resembles the star schema but includes additional layers of associated dimensions, making the branching pattern more complex.

Snowflake Schema Dimensional Data Model

Object-oriented data model

The main difference in object-oriented data models compared to other data modeling techniques is hierarchy grouping. Objects, abstractions of real-world entities, are grouped in class hierarchies and have associated features. This way of visualization is mostly utilized in multimedia and hypertext databases. The object-oriented model is flexible and adaptable since it allows for quick model modification and enhancement as requirements change.

Object-Oriented vs Relational Data Model

Data Modeling Tools are the most user

There are numerous tools for data modeling, unfortunately, most of the user-friendly ones are not free. DB Designer is the tool I use when I want to present my data models. This tool offers a free trial version with unlimited feature access, although it limits the number of models you can create.

It is the most user-friendly I have used so far. It can generate SQL based on the data models created and generate data models with A.I., which are very time-saving features.

[Tekos] DB Designer example
DB Designer example

Googling “DBDesigner alternatives” will provide other free tools.

Another practical way to do data modeling without any additional charge is writing everything in documents (MS Word, Google Docs…). 1 table = 1 document, then adding URLs in them to show relationships between tables. This way is very poorly visualized, but it is enough for engineers to follow and understand the data model’s design. Of course, those documents must include as much logic and details as possible.

Conclusion

A data model is a visual representation of data elements and the relationships between them. Building data models is called data modeling.
There are 3 types of data models, corresponding to 3 stages of data modeling: Conceptual, Logical, and Physical.
Some data modeling techniques: Entity-relationship (ER), Relational, Dimensional, and Object-Oriented.
DB Designer is one of the most useful data modeling tools.

Would you like to read more articles by Tekos’ Team? Everything’s here.

References

Author

Young Duong Avatar

Leave a comment

Your email address will not be published. Required fields are marked *

Comment
Name
Email
Website

Skip to content