In this lesson, you will learn how to boost query performance by denormalizing your dimension tables to build a high-performance star schema.
Moving Beyond Normalization
In operational databases, we often use "normalized" tables to avoid data redundancy. For example, you might have a Product table that links to a Category table, which links to a Department table. While great for saving storage space, this forces the database to perform complex "joins" every time a user wants to analyze sales data, which slows down reports significantly.
In a Star Schema, we prioritize analytical speed over storage efficiency. We do this by denormalizing—taking those separate Category and Department tables and folding them directly into the Product dimension table.
The Power of the Star
By flattening these relationships, your dimension table becomes a "wide" table containing all descriptive attributes in one place. When you join this wide Product table to your central Fact table, the database has much less work to do.
Imagine an e-commerce order:
- Fact Table (
fact_sales): Contains theproduct_key(foreign key) and theprice. - Denormalized Dimension (
dim_product): Contains theproduct_key,product_name,category_name, anddepartment_nameall in one row.
Your query structure becomes extremely simple:
SELECT
p.category_name,
SUM(s.price) as total_revenue
FROM fact_sales s
JOIN dim_product p ON s.product_key = p.product_key
GROUP BY p.category_name;
Because the category_name is sitting right there in the dim_product table, the query engine can fetch the data in a single pass. This "star" shape—a central fact table surrounded by simplified, descriptive dimension tables—reduces the complexity of the SQL, improves execution speed, and makes the model much easier for business users to understand.
By collapsing multi-level hierarchies into a single dimension table, you minimize the number of joins required to answer complex business questions, creating a robust, high-performance foundation for your analytics.
Key Takeaway: Denormalizing dimension tables by flattening hierarchies into a single, wide table eliminates unnecessary joins and significantly accelerates analytical query performance in a star schema.