Course Materials


For each video listed here, you can download the unnanotated slides (Unannotated slides), annotated slides (Annotated slides), PDF slides (PDF slides), and any files used in SQL or XML demonstrations (SQL script). Not all videos have slide annotations.

If you're following along with a textbook (and we encourage it!), we include a mapping of videos to sections in four of the most commonly used database textbooks:

    A First Course in Database Systems (3rd edition) by Ullman and Widom (U/W)
        (same material and sections as Database Systems: The Complete Book (2nd edition)
         by Garcia-Molina, Ullman, and Widom)
    Database Management Systems (3rd edition) by Ramakrishnan and Gehrke (R/G)
    Fundamentals of Database Systems (6th edition) by Elmasri and Navathe (E/N)
    Database System Concepts (6th edition) by Silberschatz, Korth, and Sudarshan (S/K/S)
I. Introduction
U/W
R/G
E/N
S/K/S
Introduction to the course Unannotated slides Annotated slides PDF slides 1.1 - 1.2
1.1 - 1.4
1.1 - 1.9
1.1 - 1.14

II. Relational Databases
U/W R/G E/N S/K/S
The relational model
Unannotated slides Annotated slides PDF slides 2.2 - 2.3 1.5, 3.1 3.1 2.1 - 2.2
Querying relational databases
Unannotated slides Annotated slides PDF slides --- 1.6 --- ---
Other readings: SQL for Web Nerds (dated, but still a good read)

III. Relational Algebra
U/W R/G E/N S/K/S
Select, project, join Unannotated slides Annotated slides PDF slides 2.4 4 6.1 - 6.3 6.1
Set operators, renaming, notation Unannotated slides Annotated slides PDF slides  "  "  "  "

All SQL scripts use the same schema and data, and work in SQLite, MySQL, and Postgres except as noted. See our quick guide to SQL for installing and using these systems. All SQL demos use the Database Master interface.
IV. SQL
SQL schema SQL data U/W R/G E/N S/K/S
Introduction to SQL Unannotated slides Annotated slides PDF slides




Basic SELECT statement Unannotated slides Annotated slides PDF slides SQL script 6.1 5.2 4.3 3.3
Table variables and set operators Unannotated slides Annotated slides PDF slides SQL script 6.2 5.3  "
3.4 - 3.5
Subqueries in WHERE clause Unannotated slides
PDF slides SQL script 6.3 5.4 5.1.2 - 5.1.6 3.8
Subqueries in FROM and SELECT Unannotated slides Annotated slides PDF slides SQL script  "  "  "  "
Aggregation Unannotated slides
PDF slides SQL script 6.4.3 - 6.4.7 5.5 5.1.7 - 5.1.8 3.7
NULL values Unannotated slides
PDF slides SQL script 6.1.6-7, 6.4.6 5.6 5.1.1 3.6
Data modification statements Unannotated slides Annotated slides PDF slides SQL script 6.5 3.1.1 4.4 3.9
Other readings: In addition to the textbook material, there are many entire books specifically about getting started with SQL; try searching for SQL in Amazon for a representative selection.

See our quick guide to XML validation and querying for the tools used in these demos.
V. XML Data
U/W R/G E/N S/K/S
Well-formed XML
Unannotated slides Annotated slides PDF slides
Bookstore (no DTD) 11.2
7.4.1
12.2
23.1 - 23.2
DTDs, IDs & IDREFs
Unannotated slides Annotated slides PDF slides Bookstore with DTD Bookstore with IDREFs 11.3
7.4.2
12.3.1
23.3.1
XML Schema
Unannotated slides Annotated slides PDF slides Bookstore (use with XSD) Bookstore XML Schema (XSD) 11.4
---
12.3.2
23.3.2
Other readings: There are online introductions to XML, DTDs, and XML Schema at W3Schools, and XML and DTD tutorials at Zvon.org. The W3C has the complete specifications for XML/DTDs and XSDs.

See our quick guide to XML validation and querying for the tools used in these demos.
VI. Querying XML
Bookstore Query Data U/W R/G E/N S/K/S
XPath
Unannotated slides Annotated slides PDF slides XPath script 12.1
27.7.1
12.5.1
23.4.1 - 23.4.2
XQuery
Unannotated slides Annotated slides PDF slides XQuery script 12.2
27.7.2 - 27.7.4
12.5.2
23.4.3
XSLT
Unannotated slides Annotated slides PDF slides XSLT script 12.3
---
---
---
Other readings: There are online introductions to XPath, XQuery, and XSLT at W3Schools, and XPath and XSLT tutorials at Zvon.org. The W3C has the complete specifications for XPath, XQuery, and XSLT.

VII. Relational Design Theory
U/W R/G E/N S/K/S
Relational design overview
Unannotated slides Annotated slides PDF slides

15.1
8.1
Functional dependencies
Unannotated slides Annotated slides PDF slides 3.1 - 3.2
19.1 - 19.3
15.2
8.3
Boyce-Codd normal form
Unannotated slides Annotated slides PDF slides 3.3
19.4.1, 19.6.1
15.5
8.3.2, 8.5.1
Multivalued dependencies, 4th normal form
Unannotated slides Annotated slides PDF slides 3.5 - 3.6
19.8.1 - 19.8.2
15.6
8.6
Shortcomings of BCNF/4NF
Unannotated slides Annotated slides PDF slides 3.4
---
---
8.8.4

VIII. Unified Modeling Language (UML)
U/W R/G E/N S/K/S
UML data modeling
Unannotated slides Annotated slides PDF slides 4.7
2.7
10.3
7.9.2
UML to relations
Unannotated slides Annotated slides PDF slides 4.8
---
---
---
Other readings: An additional resource for the data-modeling subset of UML is Database design with UML and SQL, by Tom Jewett. Material corresponding to what we cover in our "UML data modeling" video is found in the initial portions of the following sections: models, classes, associations, many-to-many associations (both pages 1 and 2), subclasses, and aggregation and composition. The material relating UML designs to relations is also relevant, but is approached at a more detailed level than we cover in our "UML to relations" video.

See the first SQL section above for information and links applicable to all of our SQL demos.
IX. Constraints and Triggers
U/W R/G E/N S/K/S
Motivation & overview
Unannotated slides Annotated slides PDF slides




Constraints of several types
Unannotated slides Annotated slides PDF slides SQL script 7.1 - 7.2
3.2 - 3.3, 5.7
3.2 - 3.3
4.4
Referential integrity
Unannotated slides Annotated slides PDF slides SQL script 7.1.1 - 7.1.2
3.2.2
3.2.4
4.4.5
Triggers introduction
Unannotated slides Annotated slides PDF slides
7.5
5.8 - 5.9
26.1.1
5.3
Triggers demo (part 1)
Unannotated slides
PDF slides SQL script



Triggers demo (part 2)
Unannotated slides
PDF slides SQL script




X. Indexes
U/W R/G E/N S/K/S
Indexes Unannotated slides Annotated slides PDF slides 8.3 - 8.4
8.3-5, 20.2-6
18, 20.2
11

See the first SQL section above for information and links applicable to all of our SQL demos.
XI. Views
U/W R/G E/N S/K/S
Defining and using views
Unannotated slides Annotated slides PDF slides SQL script 8.1
3.6
5.3.1 - 5.3.2
4.2.1 - 4.2.2
View modifications - introduction
Unannotated slides Annotated slides PDF slides
8.2
3.6.2 5.3.3
4.2.4
View modifications using triggers
Unannotated slides
PDF slides SQL script 8.2.3
---
---
---
Automatic view modifications
Unannotated slides Annotated slides PDF slides SQL script 8.2.2
---
---
---
Materialized views
Unannotated slides Annotated slides PDF slides
8.5
25.9
5.3.3
4.2.3

XII. Transactions
U/W R/G E/N S/K/S
Introduction to transactions
Unannotated slides Annotated slides PDF slides

21.1

Transaction properties
Unannotated slides Annotated slides PDF slides 6.6.1 - 6.6.3
16.1 - 16.3
21.2 - 21.3
14.1 - 14.7
Isolation levels
Unannotated slides Annotated slides PDF slides 6.6.4 - 6.6.6
16.6
21.6
14.8

XIII. Authorization
U/W R/G E/N S/K/S
Authorization Unannotated slides Annotated slides PDF slides 10.1
21.1 - 21.3
24.2
4.6

See the first SQL section above for information and links applicable to all of our SQL demos.
XIV. Recursion in SQL
U/W R/G E/N S/K/S
Basic recursive WITH statement intro
Unannotated slides Annotated slides PDF slides
10.2
24.1
6.4.3?
5.4.2
Basic recursive WITH statement demo
Unannotated slides Annotated slides PDF slides SQL script



Nonlinear and mutual recursion
Unannotated slides Annotated slides PDF slides SQL script 10.2.2
 "
---
---

See the first SQL section above for information and links applicable to all of our SQL demos.
XV. On-Line Analytical Processing (OLAP)
SQL schema SQL data U/W R/G E/N S/K/S
Introduction to OLAP
Unannotated slides Annotated slides PDF slides
10.6 - 10.7
25.1 - 25.3
29.1 - 29.3
5.6
OLAP demo
Unannotated slides
PDF slides SQL script