Schema database yang baik membuat aplikasi ringkas; schema yang buruk membuat setiap fitur baru menjadi perjuangan. Section ini membahas perancangan database secara bertahap: keys, normalization, constraints, dan integrity. Bagian kedua membahas migrations — cara mengelola perubahan schema dalam versi kontrol — beserta versioning, rollback, seed data, dan strategi menguji perubahan database secara aman.