Skip to content

🇮🇳 Independence Day Special Offer – Learn More, Pay Less!

Schema Visualizer

Click a dimension and watch its relationship to the fact table light up, its columns appear, and the join that uses it run for real. Then snowflake dim_product and see the same query grow two more joins.

  • 01

    fact_sales holds measures and foreign keys, nothing else. Every label lives in a dimension.

  • 02

    The grain of fact_sales is one row per delivered order line. Declare the grain before you model anything.

  • 03

    Star means one join per dimension. Snowflake normalises the dimension, which saves space and costs joins.

Fact rows

0

one per delivered order line

Distinct orders

0

matches fact rows — grain is clean

Total revenue

₹0

SUM(amount) across the fact table

Star schema

Every dimension is one join from the fact table.

0 tables · 0 links

dim_customer

0 rows · click any card on the canvas

    The query this table serves

    1 join in star form

    SELECT dc.segment, dc.state,
           COUNT(DISTINCT dc.customer_key) AS customers,
           SUM(f.amount) AS revenue
    FROM fact_sales f
    JOIN dim_customer dc ON dc.customer_key = f.customer_key
    GROUP BY dc.segment, dc.state
    ORDER BY revenue DESC;

    Conformed dimension check

    Every fact row must resolve to exactly one row in each dimension — otherwise the join silently drops or duplicates revenue.

    Run a query to see rows here.

    Run something and the rows land here.

    Booting SQLite