Data & Databases
Where everything your app knows lives.
Model data properly, write real SQL, design schemas that don't rot, index for speed, use transactions to stay correct, and migrate without losing a byte. The layer every serious app stands on.
Lessons
- →
Data Modeling: Think Before You Store
Think before you store: model entities and relationships so your data makes sense.
- →
Relational Databases & SQL
Tables, rows, and SQL — the language you use to ask your data questions.
- →
SQL, Deeper
JOINs, aggregations, GROUP BY, and subqueries — SQL that answers real questions.
- →
Normalization & Schema Design
Design schemas that don't rot: avoid duplication, anomalies, and regret.
- →
Indexes & Query Performance
Why your app gets slow — indexes, query plans, and the infamous N+1 problem.
- →
Transactions, Consistency & Race Conditions
All-or-nothing operations, ACID, and the race conditions that corrupt data.
- →
Migrations: Evolving a Schema Safely
Evolve a live schema without losing data, using versioned migrations.
- →
Relationships in Practice
One-to-many, many-to-many, foreign keys — wiring entities together correctly.
- →
NoSQL & When to Use It
Document and key-value stores: what they're good at, and when SQL still wins.
- →
Caching & Cache Invalidation
Make reads fast with caching — and survive the hardest problem: invalidation.
- →
Search: When LIKE Isn't Enough
When LIKE isn't enough: real full-text search that finds what users actually mean.
- →
Backups, Restores & Data Safety
Backups, restores, and the day your database is the only thing that matters.
- →
Capstone: Design & Build a Real Data Layer
Design and build a real data layer: schema, migrations, indexes, seed, and a tuned query.
🏛️ Build It Right, Or Don't Build It At All.