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 noon on that day.
Week | Date | Topic | Material | Milestone |
---|---|---|---|---|
1 | Tuesday, January 16 | Ch.1: Overview of Database Systems | 1.1 | |
Thursday, January 18 | Ch.1: Overview of Database Systems | 1.2 | ||
2 | Tuesday, January 23 | Ch.2: ER Model | 2.1 | |
Thursday, January 25 | Ch.2: ER Model | 2.2 | HW1 Out | |
3 | Tuesday, January 30 | Ch.3: Relational Model | 3.1 | |
Thursday, February 1 | Ch.3: Relational Model | 3.2 | Lab1 Out | |
4 | Tuesday, February 6 | Ch.4: Relational Algebra | 4.1 | |
Thursday, February 8 | Ch.4: Relational Algebra | 4.2 | HW1 Due. HW2 Out | |
5 | Tuesday, February 13 | Ch.5: SQL Queries | 5.1 | |
Thursday, February 15 | Ch.5: SQL Queries | 5.2 | ||
6 | Tuesday, February 20 (online) | Ch.8-9: Storage and Indexing | 6.1 | HW2 Due |
Thursday, February 22 | Midterm Exam 1 | R1 | ||
7 | Tuesday, February 27 | Ch.8-9: Storage and Indexing | 7.1 | Lab1 Due. Lab2 Out |
Thursday, February 29 | Ch.8-9: Storage and Indexing | 7.2 | HW3 Out | |
8 | Tuesday, March 5 | Spring break | ||
Thursday, March 7 | ||||
9 | Tuesday, March 12 | Ch.8-9: Storage and Indexing | 9.1 | |
Thursday, March 14 (online) | Ch.8-9: Storage and Indexing | 9.2 | ||
10 | Tuesday, March 19 | Ch.12-15: Query Evaluation | 10.1 | |
Thursday, March 21 | Ch.12-15: Query Evaluation | 10.2 | ||
11 | Tuesday, March 26 | Ch.12-15: Query Evaluation | 11.1 | |
Thursday, March 28 | Ch.12-15: Query Evaluation | 11.2 | HW3 Due | |
12 | Tuesday, April 2 | Midterm Exam 2 | R2 | |
Thursday, April 4 | Ch.16-18: Transaction Management | 12.2 | Lab2 Due. Lab3 Out. HW4 Out | |
13 | Tuesday, April 9 | Ch.16-18: Transaction Management | 13.1 | |
Thursday, April 11 | Ch.16-18: Transaction Management | 13.2 | ||
14 | Tuesday, April 16 | Ch.16-18: Transaction Management | 14.1 | |
Thursday, April 18 | Ch.16-18: Transaction Management | 14.2 | ||
15 | Tuesday, April 23 | Ch.19: Schema Refinement | 15.1 | |
Thursday, April 25 | Ch.19: Schema Refinement | 15.2 | Lab3 Due. HW4 Due | |
17 | Wednesday, May 8, 10:30AM-12:30PM Keller Hall 3-210 |
Final Exam | Class photo |