Proposal
The current seed data (`seed_v1.sql`, `seed_billing.sql`) covers the happy path but lacks edge cases that would improve teaching:
Missing from seed_v1.sql
- An appointment with no prescription (important for LEFT JOIN exercises)
- A doctor with no appointments (tests outer joins)
- A patient with multiple appointments on the same day
- A cancelled or no-show appointment status
Missing from seed_billing.sql
- An invoice with status `void` or `cancelled`
- An invoice with multiple partial payments
- An appointment with no invoice (unbilled)
Why
Edge cases force students to think about NULLs, outer joins, and business logic. Without them, naive INNER JOINs produce the same results as LEFT JOINs, and students miss the distinction.
Scope / files impacted
- `course/03_week03_normalization/seed_v1.sql`
- `course/06_week06_transactions/seed_billing.sql`
Proposal
The current seed data (`seed_v1.sql`, `seed_billing.sql`) covers the happy path but lacks edge cases that would improve teaching:
Missing from seed_v1.sql
Missing from seed_billing.sql
Why
Edge cases force students to think about NULLs, outer joins, and business logic. Without them, naive INNER JOINs produce the same results as LEFT JOINs, and students miss the distinction.
Scope / files impacted