CS 44 Database Systems

Databases sit at the core of all modern commercial software/systems, managing the storage, update, and retrieval of large amounts of data in an efficient manner. This course provides an introduction to database management systems (DBMS); in particular, concentrating on the theory, design, and implementation of relational database management systems. Topics covered include data models (ER and relational model); data storage and access methods (files, indices); query languages including SQL and relational algebra; query evaluation; query optimization; transaction management; concurrency control; crash recovery; and advanced topics (parallel and distributed DBMS, security, others) Lab projects that involves implementing and testing components of a relational database management system is a large component of the course.

Prerequisites: CPSC 35 and CPSC 31 required.
This course satisfies the Core Systems requirement (1.c.ii) of the new CS major/minor requirements, and satisfies a Group 2: Systems requirement for the old CS major/minor requirements. It can also be used to satisfy an upper-level elective (1.d) of the CS major/minor requirements.

Course Learning Goals:

Course Webpages:


Current or Most Recent offering: Spring 2025
Some older offerings: Fall 2020 (on-line semester, first use of SwatDB), Fall'16, Fall'07 (this predates the CS31 prereq)
 
Professor Soni also teaches this course.