This course covers the basic concepts and elements of database management by providing an introduction to the relational data model and its languages. The course also studies database design methodology, storage, indexing, query evaluation, and transaction management. Students gain experience using and building applications on top of the major open-sourced PostgreSQL by completing several assignments. Students also gain hands-on experience with implementing new functions into PostgreSQL source code. Through written and coding tasks as well as close interactions with the instructor and TAs, students are exposed to both the theory and engineering behind classic database systems, and can expect to build a foundational knowledge toward modern large-scale data processing and analysis.
The course is organized as a sequence of in-person lectures by the instructor, usually two times a week. The semester-long lectures consist of seven modules, where later modules normally rely on previous ones. During the semester, there will be four written homeworks and three lab exercises to deepen understanding of the subject. Two checkpoint midterms will be held during lecture hours, and the final exam will be scheduled to the end of the lectures.
Late submission without prior consent is not accepted. All deadlines refer to the beginning of class on that day (2:29PM Central Time).
Week | Date | Topic | Materials | Milestone |
---|---|---|---|---|
1 | Wednesday, September 6 | Ch.1: Overview of Database Systems | 1.1 | |
2 | Monday, September 11 | Ch.1: Overview of Database Systems | 2.1 | |
Wednesday, September 13 | Ch.2: ER Model | 2.2 | ||
3 | Monday, September 18 | Ch.2: ER Model | 3.1 | HW1 Out |
Wednesday, September 20 | Ch.3: Relational Model | 3.2 | ||
4 | Monday, September 25 | Ch.3: Relational Model | 4.1 | Lab1 Out |
Wednesday, September 27 | Ch.4: Relational Algebra | 4.2 | ||
5 | Monday, October 2 | Ch.4: Relational Algebra | 5.1 | HW1 Due. HW2 Out |
Wednesday, October 4 | Ch.5: SQL Queries | 5.2 | ||
6 | Monday, October 9 | Ch.5: SQL Queries | 6.1 |
|
Wednesday, October 11 | Midterm Exam 1 | R.1 | ||
7 | Monday, October 16 | Ch.8-9: Storage and Indexing | 7.1 | Lab1 Due. Lab2 Out |
Wednesday, October 18 | Ch.8-9: Storage and Indexing | 7.2 | ||
8 | Monday, October 23 | Ch.8-9: Storage and Indexing | 8.1 | |
Wednesday, October 25 | Ch.8-9: Storage and Indexing | 8.2 | ||
9 | Monday, October 30 | Ch.8-9: Storage and Indexing | 9.1 | HW3 Out |
Wednesday, November 1 | Ch.12-15: Query Evaluation | 9.2 | ||
10 | Monday, November 6 | Ch.12-15: Query Evaluation | 10.1 | |
Wednesday, November 8 | Ch.12-15: Query Evaluation | 10.2 | ||
11 | Monday, November 13 | Ch.12-15: Query Evaluation | 11.1 | HW3 Due |
Wednesday, November 15 | Midterm Exam 2 | R.2 | ||
12 | Monday, November 20 | Ch.16-18: Transaction Management | 12.1 |
|
Wednesday, November 22 | Ch.16-18: Transaction Management | 12.2 | Lab2 Due. | |
13 | Monday, November 27 | Ch.16-18: Transaction Management | 13.1 | |
Wednesday, November 29 | Ch.16-18: Transaction Management | 13.2 | ||
14 | Monday, December 4 | Ch.16-18: Transaction Management | 14.1 | |
Wednesday, December 6 | Ch.19: Schema Refinement | 14.2 | ||
15 | Monday, December 11 | Ch.19: Schema Refinement | 15.1 | |
Wednesday, December 13 | Review | Class photo | Lab3 Due. HW4 Due | |
16 | Monday, December 18 | Final Exam: 10:30AM-12:30PM, at Bruininks Hall 230 |