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 qualifies as a Group 2: Systems course for the CS major/minor requirements.

Course Learning Goals:

Course Webpages:

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