04. Databases

Where the data lives. Most modern web apps store users, content, and state in a database. This section covers what databases are, the main families (SQL vs NoSQL), the specific tools I use (Postgres via Supabase), and the patterns and traps that come with each.


Entries

#EntryStatusOne-line description
1What is a database?🟩 COMPLETEA persistent, organized store for your app’s data
2SQL vs NoSQL🟩 COMPLETEThe two main database philosophies and when each fits
3SQL β€” the language🟩 COMPLETESELECT/INSERT/UPDATE/DELETE and the rest of the basics
4Postgres🟩 COMPLETE 🟦 LIVINGThe world’s most powerful open-source relational database
5Supabase🟩 COMPLETE 🟦 LIVINGPostgres + auth + storage + APIs, packaged as a service
6Schema design🟩 COMPLETETables, columns, types β€” designing them so you don’t regret it
7Migrations🟩 COMPLETEVersioned, replayable changes to your database structure
8Row-Level Security (RLS)🟩 COMPLETEPer-row access control β€” Postgres/Supabase’s killer security feature
9Indexes & performance🟩 COMPLETEThe single biggest lever for speeding up queries
10Joins & relationships🟩 COMPLETEHow tables connect to each other β€” one-to-many, many-to-many, etc.
11Transactions & ACID🟩 COMPLETEAll-or-nothing operations β€” why your bank loves them

Suggested reading order

1 β†’ 2 β†’ 3 β†’ 4 β†’ 5 β†’ 6 β†’ 8 β†’ 7 β†’ 10 β†’ 9 β†’ 11. If you only read three, read 1, 5, and 8 β€” Supabase + RLS is the day-to-day reality.

See also

11 items under this folder.