01Introduction
Database-system purpose, architecture, users, data models, schemas, instances, and the role of relational database management systems.
02Preparation
Installing and configuring MySQL, MySQL Workbench, PyCharm, Python database connectors, FastAPI, and the supporting web-development environment.
03Queries
Relational tables and SQL data definition and manipulation, including SELECT, filtering, ordering, grouping, aggregation, INSERT, UPDATE, and DELETE.
04Joins & Subqueries
Combining related tables with joins, merging compatible results with UNION, and expressing nested questions through correlated and uncorrelated subqueries.
05Disk & Files
Physical storage, disk organization, blocks, records, file layouts, and the cost of moving data between persistent storage and memory.
06Buffer Management
Buffer pools, page replacement, pinning, dirty pages, and the policies used to coordinate database pages in memory and on disk.
07Heap Tables & Buffer Pools
Unordered record storage, page and record identifiers, insertion and scanning, and implementation of heap tables over a managed buffer pool.
08Indexing
Search keys, primary and secondary indexes, tree-based indexes, hashing, access paths, and the tradeoffs between query speed and maintenance cost.
09Database Design
Entity-relationship modeling, relational schemas, keys, constraints, functional dependencies, normalization, and systematic schema refinement.
10SQL Parsing
The path from SQL text to tokens, syntax trees, semantic analysis, query plans, and executable database operations.
11Transactions & Concurrency
ACID properties, schedules, serializability, locking, isolation, deadlock, and mechanisms for safe concurrent database access.
12Recovery
Failures, logging, checkpoints, write-ahead logging, undo and redo, and the restoration of a consistent database state.