Databases

Welcome! This course introduces relational databases through a combination of conceptual study, SQL practice, and a running web application project.


You will study data, database systems, and the relational model, and then continue into querying, application-side database access, schema design, migrations, aggregation, transactions, normalization, and performance.


The practical thread of the course uses PostgreSQL, FastAPI, Jinja, and raw SQL so that the database stays visible throughout the course.


These materials are still under development. New parts are released periodically.

Course Parts

We recommend starting from the first one, but you can also browse around.