What is Data Modeling Why is it Crucial for Data Analytics?

What is Data Modeling? Why is it crucial for Data Analytics?

Data Modeling is an important concept to understand when dealing with structured data. A strong understanding of the basics of data modeling will make your workflow more efficient and help you stand out from others. 

While data modeling is usually one of the prime responsibilities of a database architect, it is also crucial for a data analyst to understand the basics of data modeling to effectively gather valuable insights. In fact, data analysis tools like Power BI, Tableau, etc come with drag-and-drop data modelers that let you create data relationships in a few clicks. However, one must understand the basic terminology and concepts of data modeling, to make the best use of such powerful features. 

This article will provide a detailed overview of data modeling, its types, and its importance for a data analyst.

Data Modeling

Data Modeling is a set of techniques and processes for structuring data and establishing relationships between various attributes in data. An attribute is a column name in a table within the data. For instance, take a look at the table below which shows sales for a restaurant:

Table for demonstration of attributes in data

The column names sales_id, user_id, area_id, product_name, and amount_paid are attributes in the dataset. These attributes, when analyzed alone are meaningless and depend on other tables for complete information on the entries. The user with user_id 2,5, and 7 are defined in another table. During analysis, both tables are combined to query results into one table that contains all information on a particular sale.

Types of Tables involved in Data Modeling:

To better understand the relationships between attributes in our datasets, it’s crucial to know the following two types of tables in data modeling:

  1. Fact Tables
  2. Dimension Tables

1) Fact Tables:

A Fact Table stores all the facts or measures of an event in a particular process. The table below is an example of a Fact Table:

An Example of a Fact Table

In this table, the event recorded is the sales of a restaurant. All the facts of a particular sale are stored in this table such as the product name and the amount that the user paid for their order.

2) Dimension Tables:

A dimension table stores the descriptions of the attributes in the fact table. In the fact table above, we do not know who the user with id 7 or 2 is. This is because information about these users is stored in the dimension table. 

The table below is an example of a dimension table:

An example of a dimension table

The table stores descriptions of the attributes in the fact table.  

Following is an example of a dimension table that stores area details.

Dimension table storing area details

Relationship between Fact and Dimension Table:

To demonstrate the relationship between fact and dimension table, take a look at the relationship diagram below: 

The Sales table is related to the Area table with the common attribute area_id. Similarly, the Sales table is related to the Area tablewith the common attribute user_id.

Types of Data Modeling Schemas:

The are two types of arrangements of the fact and dimension tables, or data modeling schemas, known as: 

  1. Star Schema
  2. Snowflake Schema

1) Star Schema:

In a star schema, every dimension table is connected to a fact table. There is a direct connection between the fact table and the dimensions table in a star schema. 

To better understand star schema, take a look at the diagram below:

Relationship diagram for a star schema

In this diagram, the Area table and the User table are dimensional tables whereas the Sales table is a fact table. Both the dimension tables(Area and User tables) are connected to a fact table(Sales). This type of arrangement of tables is known as a star schema.

2) Snowflake Schema:

A snowflake schema is similar to a star schema where the fact table is connected to multiple dimension tables but the main difference is that in a snowflake schema, dimension tables are also connected to other dimension tables. There is an indirect connection between the fact table and the dimension tables in a snowflake schema. 

A visual representation of the snowflake schema is given below:

Relationship diagram for a snowflake schema

In this diagram, Restaurant, Area, and User tables are dimensional tables whereas Sales is a fact table. There is a relationship between the Area table and Restaurant tables and both these tables are dimensional. This type of arrangement of tables is known as a snowflake schema.

Why is Data Modeling crucial for Data Analytics?

Data modeling and data analytics are highly interdependent for ensuring effective data integration and analysis. To come up with a suitable data model for a business, a DBA requires the help of a data or business analyst to identify important KPIs that their business might want to track. Identification of new metrics is a crucial skill for a data analyst as you can evaluate the business processes and place trackers accordingly. A data analyst may require knowledge of data modeling for the following reasons:

Creates a Single Source of Truth:

Data modeling is crucial for a data analyst because it helps create a centralized representation of data in an organization. 

For example, when working with a large organization with many departments, establishing data standards for usage is crucial to ensure that people across the organization are making decisions from the same set of data. Data modeling helps ensure that the information across all systems is consistent which leads to more informed and effective decision-making in an organization.

Standardize data structure:

Logically organizing data is also important for ensuring effective analytical processes. Through data modeling, an analyst can identify unique patterns in data and structure them accordingly. A standardized data structure helps ensure that the right data is analyzed by the right person which ultimately leads to more informed decision-making.

A standardized data structure can also help ensure reliability and consistency. This greatly minimizes errors and saves the analyst a tonne of time in the data cleaning process.

Manipulate data faster:

Manipulating data according to a particular business problem is very crucial to ensure insightful findings. An analyst familiar with the underlying data modeling schemas can effectively query, sort, and filter data according to their requirements and reach insightful conclusions.

Improve query performance:

A reliable and consistent data model can significantly improve query performance. Querying is the process of retrieving data from a database. When dealing with large data sets, ensuring optimal query performance is crucial to avoid overloading the servers. Data modeling ensures that data is stored logically to avoid repetitiveness in the data and provides a visual for analysts to extract only relevant data which significantly improves query performance.

Data Modelling Best Practices:

Normalize the data:

Normalization is a widely known concept in database design and data modeling that helps reduce redundancy in the data.

It is important to adhere to the rules of normalization when building models as it can:

  • Minimize redundancy in data
  • Improve accuracy and consistency
  • Improve performance 


Maintaining simplicity in a data model is crucial as it makes it easier for other analysts to follow up. Simple models are also easily scalable when the need arises.

Use Appropriate Data Types:

When making data models, using appropriate data types is important for minimizing the time involved in data cleaning. For instance, an integer stored as a string will require a data analyst to put extra time into data cleaning before analyzing the data.

Document the Model: 

When working with a team, documenting the data model is important as it allows other people in the team to understand the relationships between the tables and maintain the model over time.

Share this Article