Whetstone

Databases

Relational fundamentals, taught on PostgreSQL 18: keys and joins (and the queries that silently drop rows), normalization and the columns that can disagree, indexes and reading a query plan, transactions under concurrent writers, N+1 queries and paging, choosing relational vs document vs graph storage, and schema migrations that don't lock production.

  1. 1. Keys & joins: how tables point at each other

    Lesson · Core · ~35 min
    • SQL
    • PostgreSQL
    • Data Modeling
    • Keys & Constraints
    • +1 moreAdditional skills: Joins
  2. 2. Normalization: one fact, one place

    Lesson · Core · ~35 min
    • PostgreSQL
    • Data Modeling
    • Normalization
  3. 3. Indexes & query plans: making the right reads cheap

    Lesson · Core · ~40 min
    • SQL
    • PostgreSQL
    • Query Performance
    • Indexes
  4. 4. Transactions & isolation: concurrent writers without lost updates

    Full · Advanced · ~45 min
    • PostgreSQL
    • Transactions
    • Locking & Concurrency
  5. 5. N+1 queries: batching, loaders and paging

    Full · Advanced · ~40 min
    • SQL
    • Query Performance
    • N+1 Queries
    • Pagination
  6. 6. Relational, document or graph? Choosing the shape

    Lesson · Core · ~35 min
    • PostgreSQL
    • Data Modeling
    • jsonb
    • Document Databases
    • +1 moreAdditional skills: Graph Databases
  7. 7. Migrations: changing the schema under a running app

    Lesson · Advanced · ~40 min
    • PostgreSQL
    • Migrations
    • Locking & Concurrency