Skip to content

feat: add seed data edge cases for better LEFT JOIN and reporting coverage #42

@DiogoRibeiro7

Description

@DiogoRibeiro7

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`

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestseed-dataSeed / test data changes

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions