Practice dataset
Pulse Product dataset
Pulse Product is a fictional SQL Trail data world used for product analytics tables for funnels, cohorts, events, and retention. It includes visible data and hidden check variants for practice.

Purpose and provenance
Pulse Product is a fictional-domain SQL Trail dataset used for product analytics tables for funnels, cohorts, events, and retention.
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: pulse-product-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/pulse-product.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 |
|---|---|---|---|---|---|
| accounts | one row per product account | account_id | none | 3 | 3 |
| calendar_days | one row per reporting day | day | none | 10 | 1 |
| calendar_weeks | one row per reporting week | week_start | none | 3 | 1 |
| events | one row per ingested product event | event_id | session_id -> sessions.session_id; user_id -> users.user_id | 8 | 6 |
| experiment_assignments | one row per user experiment assignment | assignment_id | experiment_id -> experiments.experiment_id; user_id -> users.user_id | 2 | 5 |
| experiments | one row per experiment | experiment_id | none | 1 | 2 |
| sessions | one row per user session | session_id | user_id -> users.user_id | 5 | 4 |
| subscriptions | one row per subscription interval | subscription_id | account_id -> accounts.account_id | 3 | 4 |
| users | one row per application user | user_id | account_id -> accounts.account_id | 4 | 4 |
Intentional edge cases and relationship summary
Relationship summary is provided as text so the page remains useful without inspecting the schema image.
Relationships: events.session_id -> sessions.session_id; events.user_id -> users.user_id; experiment_assignments.experiment_id -> experiments.experiment_id; experiment_assignments.user_id -> users.user_id; sessions.user_id -> users.user_id; subscriptions.account_id -> accounts.account_id; users.account_id -> accounts.account_id.
Intentional edge cases include nulls, ties, missing relationships, boundary rows, and fan-out traps when the domain can teach them.
| Table | Relationship check |
|---|---|
| accounts | source or lookup table with no outgoing foreign key |
| calendar_days | source or lookup table with no outgoing foreign key |
| calendar_weeks | source or lookup table with no outgoing foreign key |
| events | session_id references sessions.session_id; user_id references users.user_id |
| experiment_assignments | experiment_id references experiments.experiment_id; user_id references users.user_id |
| experiments | source or lookup table with no outgoing foreign key |
| sessions | user_id references users.user_id |
| subscriptions | account_id references accounts.account_id |
| users | account_id references accounts.account_id |
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/pulse_product/visible.txt
- SQL distribution asset: /sql-datasets/pulse_product/boundary.txt
- SQL distribution asset: /sql-datasets/pulse_product/nulls.txt
- SQL distribution asset: /sql-datasets/pulse_product/ties.txt
- SQL distribution asset: /sql-datasets/pulse_product/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 7, Module 17, Module 21, Module 22, Module 26, and more.
- Projects that use this dataset: Pulse Activation, Cohorts, and Retention.
- Update history: pulse-product-2026-06-21 is the launch revision for this public dataset page and generated SQL seed files.
- Workspace Orientation and First Run
- AND, OR, NOT, and Parentheses
- Keys, Relationships, Cardinality, and Join Planning
- Fan-Out, Pre-Aggregation, Self Joins, and Non-Equi Joins
- Scalar and Set Subqueries
- Dates, Timestamps, Time Zones, and Half-Open Ranges
- Pulse Activation, Cohorts, and Retention
- Course catalog
- Project catalog
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