CSE 462/562: Database Systems (Spring 2022)

Course Description

Welcome to CSE462/562 Database Systems of Spring 2022. Database Management Systems (DBMS) are an important piece of software widely used in various data intensive applications. No matter what data model or query language it adopts, there are principles and methodologies commonly found in virtually all DBMS, in order to support efficient and fault-tolerant data storage, query and management. In this course, we will examine the internals of a traditional Relational DataBase Management System (RDBMS) and discuss the common principles and methodologies that may be useful in many other database and data processing systems beyond RDBMS. You will also gain practical experience of efficient data management through a semester-long project of implementing various components of a mini RDBMS.

The main topics of this course include database storage management, query processing, query optimization, transaction processing, concurrency control and recovery, in a relational database system. In addition to that, we will review a few select topics in the latest database research. Please note that this is not a course on database design or database application development. These are covered in CSE460/560 Data Models and Query Languages. We will briefly review the necessary background on the relational data model and the SQL language in the first a few lectures.

Logistics

Course Requirements

Course Prerequisites

Required: Undergraduate-level courses on the analysis of data structure and algorithms (e.g., CSE250, CSE331 or equivalent). Basic knowledge in C/C++ and Linux programming environment.

Preferred: Undergarduate-level database course on database design, relational model, SQL and database application development (e.g., CSE460/560 or equivalent).

Grading Policy

Please refer to the PDF syllabus for the tentative assignment of letter grades. Grade break-down:

Course Schedule

The following schedule is subject to adjustments throughout the semester.
* Slides that are updated after the lectures

Date Topic Slides Optional reading HW/Project
2/1/2022 Course introduction and logistics 01 Textbook Ch. 1 Project 1 assigned
2/3/2022 Course project Taco-DB overview
C++11 primer
02
2/8/2022 Relational Model 03* Textbook Ch. 2 Project sign-up (lab 0) due
2/10/2022 SQL 04* Textbook Ch. 3 HW1 released
2/15/2022 Physical storage and buffer management 05 Textbook Ch. 12 Project 1 due
2/17/2022 Data storage layout and access methods 06 Textbook Ch. 13 Project 2 assigned
2/22/2022 Indexing 07* Textbook Ch. 14.1, 14.2 HW2 released
2/24/2022 Hash index 08 Textbook Ch. 14.5, 24.5
3/1/2022 Hash index (cont'd); 09* HW 3 released
3/3/2022 Tree-based index 10* Textbook Ch. 14.3, 14.4
3/8/2022 Tree-based index (cont'd) See 10 Textbook Ch. 14.6, 14.8 Project 2 due
3/10/2022 Project 2 recap & project 3 overview Textbook Ch. 15.1, 15.2, 15.3, 15.6 Project 2 due (write-up due on 3/12 11:59 pm); Project 3 assigned
3/15/2022 Mid-term recap and Q&A
3/17/2022 No lecture today at regular time
Mid-term exam: 3/17/2022, 11:05 am - 12:20 pm
Please arrive at least 5 minutes earlier than the exam starts.
3/22/2022 Spring recess, no lecture today.
3/24/2022 Spring recess, no lecture today.
3/29/2022 Query processing overview 11* Textbook Ch. 15.1, 15.2, 15.3, 15.6 Project 3 due
3/31/2022 Single-table query processing 12* Project 4 assigned
4/5/2022 External sorting 13* Textbook Ch. 15.4 Project 3 due
4/7/2022 Join algorithms 14 Textbook Ch. 15.5
4/10/2022 Project 3 due (write-up also due on 4/10)
4/12/2022 Sort-merge join Project 4 released
HW4 released
4/14/2022 Hash Join
Project 4 overview
4/19/2022 Query optimization 15 Chapter 16 HW4 due
4/21/2022 Query optimization: "System-R"-style query optimizer 16 HW5 released
4/26/2022 Transaction processing 17 Chapter 17 Project 5 released
4/28/2022 Pessimistic concurrency control 18* Chapter 18.1 - 18.4 HW5 due
5/3/2022 Pessimistic concurrency control (cont'd) HW6 released
5/5/2022 Crash recovery 19 Chapter 19 Project 4 due
5/10/2022 Advanced topics or final review (TBD) Additional materials TBD HW6 due
5/12/2022 Final recap and Q&A
5/13/2022 Alternative final exam: Baldy 19
time: 12:30 pm - 2:00 pm (only for those with confirmed exam conflicts)
5/17/2022 Final exam: Knox 110
time: 12:30 pm - 2:00 pm
5/22/2022 Project 5 and final write-up due

Academic Integrity Policy

Academic integrity is critical to the learning process. It is your responsibility as a student to complete your work in an honest fashion, upholding the expectations your individual instructors have for you in this regard. The ultimate goal is to ensure that you learn the content in your courses in accordance with UB’s academic integrity principles, regardless of whether instruction is in-person or remote. Thank you for upholding your own personal integrity and ensuring UB’s tradition of academic excellence. You should get familiar with the departmental and the university academic integrity policies and procedures for graudate students and for undergraudate students

Specifics to this course (please read carefully): you may discuss with other students about your course projects and/or prepare for exams, but each team must submit their independent code implementation for the course project, and each individual must submit his/her independent write-up. We also require all students, whether enrolled, dropped or resigned from the class, to keep your course project repository inaccessible to public indefinitely, and never share it with any current or future students who may take the course. Examples that we consider as academic integrity violations include but are hot limited to: 1) copying any part of other team's code implementation in the course project, regardless of whether it is a verbatim copy or a copy with substantially similar structure; 2) collaborate with other teams in the course project in any manner except for discussing high-level concepts covered in the lectures (in particular, you should not exchange design and/or implementation details); 3) making your course project repository or any of its copy or fork publicly available or privately to any current or future students of the course; 4) submitting work that is not created by you or your team; 5) cheating or referring to any material not permitted in the exams.

Consistent with the CSE policy, we have zero tolerance towards academic integrity violations. Any academic integrity violation will result in an F grade for all students involved, unless the violation is purely accidental and does not provide any unfair advantage to any of the students involved.

Accessibility Resources

If you have any disability which requires reasonable accommodations to enable you to participate in this course, please contact the Office of Accessibility Resources in 60 Capen Hall, 716-645-2608 and also the instructor of this course during the first week of class. The office will provide you with information and review appropriate arrangements for reasonable accommodations, which can be found on the web at this link. Please also notify the instructor within the fisrt two weeks to make reasonable arrangement early.