Practice dataset
Starter Store dataset
Starter Store is a fictional SQL Trail data world used for small hand-auditable retail tables for first queries and early retrieval. It includes visible data and hidden check variants for practice.

Purpose and provenance
Starter Store is a fictional-domain SQL Trail dataset used for small hand-auditable retail tables for first queries and early retrieval.
The data is intentionally small, deterministic, and designed to expose nulls, ties, missing relationships, and fan-out traps.
- Creator/publisher: SQL Trail. Dataset revision/version: starter-store-2026-06-21.
- License/distribution policy: SQL Trail original educational content; public reuse and citation policy are documented in Content Standards.
- Schema image: /illustrations/datasets/starter-store.webp. The accessible relationship summary below is the canonical text alternative.
Tables, grains, keys, relationships, and row counts
Each table has a stated grain, primary key, foreign-key summary, row count, and column count so learners can reason about joins before writing SQL.
| Table | Grain | Primary key | Foreign keys | Row count | Columns |
|---|---|---|---|---|---|
| customers | one row per customer account | customer_id | none | 5 | 5 |
| order_items | one row per product line on an order | order_item_id | order_id -> orders.order_id; product_id -> products.product_id | 5 | 5 |
| orders | one row per submitted order | order_id | customer_id -> customers.customer_id; staff_id -> staff.staff_id | 4 | 6 |
| products | one row per sellable product | product_id | none | 5 | 7 |
| staff | one row per staff member | staff_id | none | 2 | 3 |
Intentional edge cases and relationship summary
Relationship summary is provided as text so the page remains useful without inspecting the schema image.
Relationships: order_items.order_id -> orders.order_id; order_items.product_id -> products.product_id; orders.customer_id -> customers.customer_id; orders.staff_id -> staff.staff_id.
Intentional edge cases include nulls, ties, missing relationships, boundary rows, and fan-out traps when the domain can teach them.
| Table | Relationship check |
|---|---|
| customers | source or lookup table with no outgoing foreign key |
| order_items | order_id references orders.order_id; product_id references products.product_id |
| orders | customer_id references customers.customer_id; staff_id references staff.staff_id |
| products | source or lookup table with no outgoing foreign key |
| staff | source or lookup table with no outgoing foreign key |
Downloadable distributions
Downloadable SQL distributions are published as deterministic seed files for visible, boundary, null, tie, and project variants.
CSV distributions are not published in this release; result-grid CSV export is separate from dataset landing-page downloads.
Do not invent or link a CSV package until the product actually exposes one.
- SQL distribution asset: /sql-datasets/starter_store/visible.txt
- SQL distribution asset: /sql-datasets/starter_store/boundary.txt
- SQL distribution asset: /sql-datasets/starter_store/nulls.txt
- SQL distribution asset: /sql-datasets/starter_store/ties.txt
- SQL distribution asset: /sql-datasets/starter_store/project.txt
Modules, projects, and update history
Use this inventory to trace where the dataset appears and changes.
- Modules that use this dataset include Module 1, Module 2, Module 3, Module 4, Module 5, Module 6, and more.
- No capstone project is dedicated to this dataset in the current release.
- Update history: starter-store-2026-06-21 is the launch revision for this public dataset page and generated SQL seed files.
Page highlights
- Versioned table grain, key, row-count, and relationship inventory
- Intentional edge-case map
- Accessible relationship summary
- SQL distribution and CSV availability statement
- Module and project usage map