Formal Database Theory
The maths that makes every other database course non-arbitrary: why the optimiser may reorder your joins, why BCNF sometimes cannot preserve dependencies, why snapshot isolation allows write skew, why 2PC blocks, and why R + W > N. Proofs appear where they change a design decision; everything else is stated with intuition and a runnable example.
Eight parts: the relational model; relational algebra and calculus; functional dependencies and normalisation through 6NF and when to denormalise; query processing theory; concurrency theory from schedules to SSI; distributed theory from CAP to CRDTs; the data structures behind storage; and the theory you will actually cite (Adya's isolation definitions, vendor differences, Jepsen). The capstone is a working relational algebra interpreter and functional-dependency analyser in TypeScript whose real output is shown throughout.