Practice-problem
Problem #43 Medium Data Modeling

Mixing Facts and Dimensions

star schemaSCD2viewshistory

Scenario: A team has a single “orders” table in their warehouse with order details, customer name and address, product name and category, and warehouse-of-origin name. Every analyst query reads from that one table, and joins are never needed. The team’s reasoning: “it’s easier to query.”

New requirement: when a customer changes their address, all the old orders in the table now show the new address, so historical reports change. The team is asked to “fix” this and they’re considering rebuilding the table daily as a snapshot.

The question:

A team is mixing facts and dimensions in the same table because “it’s easier to query.” Explain why that quietly hurts them later.


Your Task:

  1. Explain the symptom and the underlying cause.
  2. Show the fix.
  3. Address the team’s “but it’s easier” argument honestly.
  4. Cover when a wide denormalized table really IS the right call.

What a Good Answer Covers:

  • The grain trap.
  • History rewriting silently.
  • Storage cost vs. query simplicity trade.
  • The compromise: a wide reporting view on top of a clean star schema.

Try the problem on your own first. Solutions are most valuable after you've struggled with it.