About the Database Series of Courses
"Databases" was one of Stanford's three inaugural massive open online courses in the fall of 2011; it was offered again in MOOC format in 2013 and 2014. The course is now being offered as a set of smaller self-paced courses, which can be assembled in a variety of ways to learn about different aspects of databases. All of the courses are based around video lectures and/or video demos. Many of them include in-video quizzes to check understanding, in-depth standalone quizzes, and/or a variety of automatically-checked interactive programming exercises. Each course also includes a discussion forum and pointers to readings and resources. The courses are described briefly below, along with suggested pathways through them. Taught by Professor Jennifer Widom, the overall curriculum draws from Stanford's popular Databases course.
Why Learn About Databases
Databases are incredibly prevalent -- they underlie technology used by most people every day if not every hour. Databases reside behind a huge fraction of websites; they're a crucial component of telecommunications systems, banking systems, video games, and just about any other software system or electronic device that maintains some amount of persistent information. In addition to persistence, database systems provide a number of other properties that make them exceptionally useful and convenient: reliability, efficiency, scalability, concurrency control, data abstractions, and high-level query languages. Databases are so ubiquitous and important that computer science graduates frequently cite their database class as the one most useful to them in their industry or graduate-school careers.
Course Pathways
The following are a number of suggested pathways through the courses, depending on the topics and depth desired. Of course you are welcome to mix and match the courses any way you like!
Practical Relational Databases and SQL
Basic: INTRODUCTION AND RELATIONAL DATABASES, SQL
Extended version add: INDEXES AND TRANSACTIONS, CONSTRAINTS AND TRIGGERS, VIEWS AND AUTHORIZATION
Comprehensive version also add: ON-LINE ANALYTICAL PROCESSING, RECURSION IN SQL
Practical Relational Databases and SQL with UML Design
Basic: INTRODUCTION AND RELATIONAL DATABASES, UNIFIED MODELING LANGUAGE (UML), SQL
Extended version add: INDEXES AND TRANSACTIONS, CONSTRAINTS AND TRIGGERS, VIEWS AND AUTHORIZATION
Comprehensive version also add: ON-LINE ANALYTICAL PROCESSING, RECURSION IN SQL
Relational Databases and SQL: Foundations and Practice
Basic: INTRODUCTION AND RELATIONAL DATABASES, RELATIONAL ALGEBRA, SQL, RELATIONAL DESIGN THEORY, UNIFIED MODELING LANGUAGE (UML)
Extended version add: INDEXES AND TRANSACTIONS, CONSTRAINTS AND TRIGGERS, VIEWS AND AUTHORIZATION
Comprehensive version also add: ON-LINE ANALYTICAL PROCESSING, RECURSION IN SQL
Semistructured Data
Basic: XML DATA, JSON DATA
With querying add: XPATH AND XQUERY
With querying, comprehensive version add: XSLT