CMU 15-445/645 - Database Systems

Taught by Prof. Andy Pavlo in Fall, 2019 and Fall, 2023.
The first 7 lectures are from the course taught in Fall, 2019, the rest are from the course taught in Fall, 2023.

Course Description

This course is on the design and implementation of database management systems. Topics include data models (relational, document, key/value), storage models (n-ary, decomposition), query languages (SQL, stored procedures), storage architectures (heaps, log-structured), indexing (order preserving trees, hash tables), transaction processing (ACID, concurrency control), recovery (logging, checkpoints), query processing (joins, sorting, aggregation, optimization), and parallel architectures (multi-core, distributed). Case studies on open-source and commercial database systems are used to illustrate these techniques and trade-offs. The course is appropriate for students with lit systems programming skills.

Course Website (2019) Course Website (2023) Lecture Videos (YouTube)

Lectures

  1. Introduction & Relational Model
  2. Advanced SQL
  3. Database Storage 1
  4. Database Storage 2
  5. Buffer Pools
  6. Hash Tables
  7. Tree Indexes