Purdue CS448: Introduction To Relational Database Systems
(Spring 2022)




Course Description

Database technology is one of the major contributions of computer science to the commercial world. The relational database model has been extremely successful in satisfying the requirements of modern applications.

In this course, we will study the concepts, design, and implementation of relational database systems. We will cover the topics including relational database model, relational algebra, SQL query language, database design, storage, indexing, query processing, query optimization, and transaction management. If time allows, we will also highlight advanced topics such as distributed and parallel databases, cloud-native databases.




Instructor

  • Jianguo Wang
  • Email: csjgwang@purdue.edu (note: must include "[CS448]" in the subject)



Teaching Assistants

  • Abdullah Al Mamun (mamuna@purdue.edu)
  • Iram Tazim Hoque (ihoque@purdue.edu)
  • Faisal Tariq Vora (voraf@purdue.edu)
  • Xi Pang (pang65@purdue.edu)
  • Libin Zhou (zhou822@purdue.edu)



Logistics

  • When: TTH 4:30-5:45pm
  • Where: Krannert Building G016
  • Office hour: TTH 5:45pm-6:00pm (or make appointment)
  • Pre-requisites: CS25100



Labs and PSOs

PSO sessions start from the 3rd week.
  • P01: Tuesday 6:00-6:50pm LWSN B146
  • P02: Wednesday 5:30-6:20pm LWSN B148
  • P03: Wednesday 5:30-6:20pm LWSN B146
  • P04: Wednesday 6:30-7:20pm LWSN B146
  • P05: Thursday 6:00-6:50pm LWSN B146



Online communications

  • We'll use Piazza, e.g., announcements, discussions, and Q&A.
  • We'll NOT use Brightspace except for sending emails occasionally.
  • We'll use Gradescope for submitting and grading homeworks.



Textbooks

Note that the lectures slides are self-contained.



Grading

  • Homeworks: 20%
  • Midterm exam: 25%
  • Final exam: 30%
    • 10:30a - 12:30p, Thursday 05/05/2022, SMTH 108
  • Project: 20%
    • You'll implement certain database componenents (such as buffer manager, query optimizer, transaction manager) based on SimpleDB.
  • Class attendance: 5%
  • Extra credits: 10%



Academic Integrity and More




Schedule

Lecture

Topic

Readings

Lec 1 (01/11)   Course Logistics & Introduction
  • Chapter 1
Lec 2 (01/13)   Relational Model
  • Chapter 3
Lec 3 (01/18)   Relational Algebra
  • Chapter 4
Lec 4 (01/20)   SQL 1
  • Chapter 5
Lec 5 (01/25)   SQL 2
  • Chapter 5
Lec 6 (01/27)   Storage 1
  • Chapter 8
Lec 7 (02/01)   Storage 2
  • Chapter 9
Lec 8 (02/03)   Buffer Management
  • Chapter 9
Lec 9 (02/08)   Index Overview
  • Chapter 10
Lec 10 (02/10)   Tree Indexing
  • Chapter 10
Lec 11 (02/15)   Hash Indexing
  • Chapter 11
Lec 12 (02/17)   Overview of SQL Query Processing
  • Chapter 15
Lec 13 (02/22)   Logical Query Optimization
  • Chapter 15
Lec 14 (02/24)   Cancelled due to a conference
  • N/A
Lec 15 (03/01)   Physical Query Optimization
  • Chapter 13 & 14
Lec 16 (03/03)   Mid-term exam (in-class)
  • N/A
Lec 17 (03/08)   Physical Query Optimization 2
  • Chapter 13 & 14
Lec 18 (03/10)   Query Evaluation
  • Chapter 12
Lec 19 (03/15)   Cancelled due to Spring break
  • N/A
Lec 20 (03/17)   Cancelled due to Spring break
  • N/A
Lec 21 (03/22)   Overview of Transaction Management
  • Chapter 16
Lec 22 (03/24)   Concurrency Control
  • Chapter 17
Lec 23 (03/29)   Concurrency Control 2
  • Chapter 17
Lec 24 (03/31)   Crash Recovery
  • Chapter 18
Lec 25 (04/05)   Crash Recovery 2
  • Chapter 18
Lec 26 (04/07)   Crash Recovery 3
  • Chapter 18
Lec 27 (04/12)   Distributed Databases
  • Chapter 22
Lec 28 (04/14)   Distributed Databases 2
  • Chapter 22
Lec 29 (04/19)   Cloud Databases
  • N/A
Lec 30 (04/21)   Big Data
  • N/A
Lec 31 (04/26)   Big Data 2
  • N/A
Lec 32 (04/28)   Review
  • N/A