Instiq
Chapter 2 · Prepare and Serve Data (Modeling and Serving)·v2.0.0·Updated 6/16/2026·~9 min

What's changed: Deepened DP-600 Chapter 2 (ja figures; comparison tables/scenarios/FAQ/traps/deep paragraphs in all sections)

2.1Dimensional Modeling and Star Schema

Key points

Understand analysis-friendly data design—star schema (facts and dimensions), Slowly Changing Dimensions (SCD), and surrogate keys—key preparation that drives serving (semantic model) quality.

For analytics/BI, the star schema—separating data into facts (numeric measures) and dimensions (perspectives)—is the standard. It’s the foundation for serving.

2.1.1Star schema structure

Diagram of a star schema with a central fact table (numeric measures like sales plus foreign keys) connected radially to multiple dimension tables (date, product, customer, store), joined via surrogate keys, with SCD managing history.
Star schema
  • Fact table: holds numeric measures (sales, quantity) and foreign keys to dimensions.
  • Dimension tables: hold analysis perspectives (date, product, customer) to slice aggregations.
  • Surrogate keys: system-generated keys on dimensions, stabilizing joins and history.
  • SCD: design to retain attribute history (e.g., Type 2) over time.
Exam point

Common on DP-600: facts = numbers, dimensions = perspectives = star schema, retain history = SCD (Type 2), stable joins = surrogate keys, denormalized star over normalized for analytics/BI. Star schema performs best in Power BI semantic models.

Note

A date dimension (calendar table) is essential for time intelligence (e.g., YoY) and is included in most models.

For analytics/BI, a denormalized star schema is faster and easier than full normalization (3NF) and performs best in Power BI semantic models. For a fact, first decide the grain (what one row represents), then hold measures (additive/semi-additive/non-additive) and foreign keys. Dimensions are analysis perspectives (date, product, customer) with a surrogate key (system-generated integer) as primary key, separated from the business (natural) key to stabilize joins and history. Attribute changes are handled by SCD: Type 1 (overwrite, no history), Type 2 (add rows with validity dates/current flag to keep history), Type 3 (keep prior value in a column). A snowflake (further-normalized dimensions) adds joins and often hurts BI performance, so prefer star. Use bridge tables or multiple facts for many-to-many or differing grains. A date dimension with contiguous dates, year/quarter/month, and fiscal year underpins time intelligence (e.g., YoY). Good schema design keeps downstream DAX simple and reports fast.

SCD typeBehaviorHistory
Type 1Overwrite the attributeNot kept
Type 2Add rows (validity/current flag)Fully kept
Type 3Keep prior value in a columnLimited (prior only)
Note

Scenario: even when a customer’s address changes, analyze past sales by the region at that time. → Make the customer dimension SCD Type 2: on an address change, add a new row (new surrogate key) with validity dates/current flag to keep history. Facts reference the surrogate key as of the event, so the past aggregates correctly by the then-current attributes.

Note

FAQ: Q. Why surrogate keys? → A. To stabilize joins and history (SCD Type 2 allows multiple rows per business key) independent of business-key changes/duplicates/source differences. Q. Star or snowflake? → A. For BI/Power BI, prefer star (denormalized); snowflake adds joins and often hurts performance.

Warning

Trap: “fully normalized (3NF) is best for analytics/BI” is wrong—BI favors a denormalized star schema. Also “use SCD Type 1 to keep history” is wrong—Type 1 overwrites (no history); history retention is Type 2.

2.1.2Section summary

  • Star schema = fact + dimensions (joined by surrogate keys)
  • History = SCD, time intelligence = date dimension

Sign in to track progress — Log in.

Quick check

(just a quick review)

Q1. Which data design—separating facts and dimensions—suits analytics/BI?

Q2. What is the technique to retain dimension attribute changes as history called?

Q3. What does a fact table mainly hold?

Check your understandingPractice questions for Chapter 2: Prepare and Serve Data (Modeling and Serving)

Keep track of your progress

The full study guide is free to read. Sign up free to practice with the question bank, track what you have read, review your mistakes, and highlight passages.