Databases: Modeling and Theory


This course is one of five self-paced courses on the topic of Databases, originating as one of Stanford's three inaugural massive open online courses released in the fall of 2011. The original "Databases" courses are now all available on This course covers underlying principles and design considerations related to databases; it can be taken either before or after taking other courses in the Databases series.

  • The Relational Algebra section of this course teaches the algebraic query language that provides the formal foundations of SQL.
  • The Relational Design Theory section of the course provides comprehensive coverage of dependency theory and normal forms in relational databases, a well-accepted theoretical framework for developing good relational database schemas.
  • The Unified Modeling Language section of this course introduces the data-modeling component of UML, and describes how UML diagrams are translated to relational database schemas.

Course Archived

Online, edX
Academic Year 2020-21
Stanford School of Engineering