Skip to content

Modeling round practice

Data modeling interview practice, on a live schema canvas.

Practice the round that filters data engineers by modeling judgment. Build the ERD, watch SQL and checks respond, then defend the trade-offs before the interview does it for you.

No card required · See pricing

Round
Schema design
Pressure
Judgment, not syntax
Signal
Can you defend it?

live_schema_canvas.erd

Read-only demo. The pulse follows FK direction from facts to dimensions.

SQL derivedGrain checked

Practice loop

The canvas is the source of truth.

SchemaLab teaches causality in structures. Change the schema and the downstream readings change with it.

Model the grain

Start where interviewers start: what one row means, which dimensions explain it, and where history belongs.

Read the instrument

The ERD drives generated SQL, lifecycle readings, storage trade-offs, and deterministic checks from one state.

Defend the trade-off

Layer 3 reviews judgment after the deterministic checks, so feedback stays grounded in the model you built.

  1. 1. ERD

    fact_order_items -> dimensions

    Foreign-key direction stays visible on the canvas.

  2. 2. SQL

    regenerates from state

    Postgres output follows the model, not a separate editor.

  3. 3. Checks

    keys, grain, history

    Layer 1 and 2 are deterministic instrument readings.

  4. 4. Readiness

    evidence over guesswork

    Progress is tied to solved concepts and verdict history.

Challenge previews

Real problem sets, not trivia.

Start with constrained decisions, move into schema builds, then take open scenarios where the answer is a defensible model.

Browse all
Quick Decisionbeginner5 min

Choose the right SCD pattern for price history

Pick the dimension strategy that preserves historical product prices for downstream revenue analysis.

Success signal

Choose the option that preserves historical attribute versions instead of overwriting them.

Preview challenge
Concept Challengeintermediate20 min

Model a product dimension that preserves price history

Extend a starter fact table with a dimension that supports accurate historical price analysis.

Success signal

The model includes a dedicated product dimension rather than keeping product history on the fact.

Preview challenge
Concept Challengeintermediate20 min

Model campaign enrollments with a bridge table

Resolve a subscriber-to-campaign many-to-many relationship without losing enrollment detail.

Success signal

The model avoids a direct subscriber-to-campaign many-to-many relationship.

Preview challenge

Starter concept coverage

Ten concepts that become visible on the canvas.

Primary Keys

Learners identify stable row identity and mark the correct column or column set as the primary key.

Foreign Keys

Learners connect entities through explicit referenced keys instead of informal naming conventions.

Relationship Cardinality

Learners show the expected one-to-one, one-to-many, or many-to-many shape for a given business relationship.

Many-to-Many Modeling

Learners recognize when a direct relationship needs an associative structure rather than a naive single FK.

Fact vs Dimension Roles

Learners separate measurable events from descriptive context instead of collapsing everything into one table.

Fact Table Grain

Learners make the row-level meaning of a fact table explicit before adding measures and relationships.

Surrogate Keys

Learners use synthetic identifiers where versioned dimensional history or stable warehouse joins require them.

Degenerate Dimensions

Learners keep transaction-level identifiers on the fact when a separate dimension adds no analytical value.

Slowly Changing Dimension Type 2

Learners preserve historical dimensional states by versioning rows rather than overwriting them.

Bridge Tables

Learners model multi-valued relationships through an explicit bridge when a simple foreign key is not enough.