Warehouse Schema Generator
Create realistic data warehouse rows in common schema patterns: dimension tables with attributes, fact tables with measures and FKs, date dimensions, or Slowly Changing Dimension Type 2 with temporal validity. This data is synthetic and not real.
Also known as: data warehouse · star schema · dw schema
seeded · synthetic data
Output
About this tool, tips & examples
What it does
The Warehouse Schema Generator produces rows in the classic data
warehouse patterns: dimension tables with descriptive attributes,
fact tables with measures and foreign keys, date dimensions
with calendar attributes, and SCD Type 2 rows with
valid_from/valid_to versioning. Up to 10,000 rows per run, seeded —
star-schema test data without hand-writing it.
Common use cases
- ETL pipeline testing — loads, upserts, and surrogate-key handling against realistic dimensional data.
- SCD2 logic validation — temporal-validity rows exercise the trickiest merge pattern in warehousing: closing old versions, opening new ones, keeping history queryable.
- BI development — populate a star schema so dashboards and semantic layers have something to aggregate.
- Teaching dimensional modeling — concrete dimension/fact/date examples beat diagrams.
Settings
- Schema kind — dimension, fact, date dimension, or SCD2.
- Rows — 1 to 10,000, exportable as CSV, JSON, NDJSON, TSV, or Markdown.
- Seed — identical seed + settings = identical rows, so warehouse tests stay deterministic.
Privacy note
Rows are generated locally in your browser and never uploaded. Everything is synthetic — no real business data — which is exactly what should be in a development warehouse.
FAQ
What makes SCD2 rows special? Each entity appears in multiple versions with validity windows — the current row open-ended, history closed off. Testing merge logic against generated SCD2 data catches the classic bugs: overlapping windows and orphaned current flags.
Do fact rows reference the dimensions? Fact rows carry foreign-key-shaped columns, so join-path testing works. For a fully keyed multi-table model, generate dimensions and facts with coordinated seeds and align keys in your fixture code.
A full date dimension? The date-dimension kind emits calendar attributes per row — the join-target every warehouse needs and nobody enjoys writing by hand.