Stanford CS145: Introduction to Databases

Jennifer Widom's database course covering the relational model, SQL, and database design principles.

About This Course

Stanford CS145 (originally offered as the Stanford "Introduction to Databases" MOOC) covers the foundations of database systems. Jennifer Widom's teaching is clear and methodical, making this an excellent first database course.

The course focuses on the relational model and SQL, with additional coverage of semi-structured data (XML, JSON), NoSQL systems, and database design theory.

What You Will Learn

  • The Relational Model: Tables, keys, schemas, relational algebra
  • SQL: Queries, subqueries, aggregation, joins, views, modifications
  • Database Design: Entity-relationship model, functional dependencies, normalization
  • Constraints and Triggers: Integrity constraints, referential integrity, triggers
  • Indexes and Transactions: B-tree indexes, ACID properties, isolation levels
  • Semi-Structured Data: XML, XPath, XQuery, JSON
  • Authorization: Access control and database security

Prerequisites

Basic programming experience. No prior database knowledge required.

Course content belongs to Stanford University.