Database Design Book

Learn how to get from business requirements to a database schema

Book length: 145 pages, ~32.000 words. Available in both PDF and in EPUB format.

Purchase for €32

Free complementary chapters

1. Database design case studies

[2024-05-20] Database Design for Google Calendar: a tutorial

In this database design tutorial we show how to design the database tables for a real-world project of substantial complexity (~9000 words).

[2024-11-09] Historized attributes: systematic table design

A common problem in business-oriented database design: keeping the history of values of a certain data attribute (~3200 words).

[2024-06-20] Many yes/no attributes: table design study

To demonstrate the relationship between the logical model and a physical model, we’re going to design a commonly seen use case: many yes/no attributes of a single anchor (in our case, Restaurant).

2. Classic relational modeling topics

[2025-01-25] Foreign Keys

Foreign keys are only a partial solution to the problem of database consistency. We investigate inherent limitations of foreign keys technology in modern contexts.

[2024-12-05] Historically, 4NF explanations are needlessly confusing

4NF presented in a straightforward way, with some investigation of history of teaching 4NF.

3. SQL

[2025-05-22] Systematic design of multi-join GROUP BY queries

We present a way to systematically design an important class of queries: analytical queries that are based on GROUP BY and use multiple joined tables. The idea of this approach is to design the query incrementally, making sure that each step is correct before proceeding (~5400 words).

[2025-06-09] Multi-join queries design: investigation

A prequel of sorts for the previous text. We investigate the construction starting from minimal scenario, and see how the typical problems appear and what is their nature.

[2023-11-25] Many explanations of JOIN are wrong, and people get confused

Most common explanations of JOIN are incomplete and build the wrong mental model. As the result, people get confused.

4. Graphical notation

[2025-07-27] ERD diagrams: