Spring 2023
UC Berkeley
This project-heavy course covers access methods, data models, query languages, database services, and interfaces. It introduces transaction processing and requires CS 61A, CS 61B, and CS 61C as prerequisites/corequisites. It suggests proficiency in Java for project work.
Access methods and file systems to facilitate data access. Hierarchical, network, relational, and object-oriented data models. Query languages for models. Embedding query languages in programming languages. Database services including protection, integrity control, and alternative views of data. High-level interfaces including application generators, browsers, and report writers. Introduction to transaction processing. Database system implementation to be done as term project.
We will expect students to have taken CS 61A, CS 61B, and CS 61C. CS61A/B will be enforced as a prerequisite, and CS61C will be enforced as a corequisite. This class is project-heavy, and there will almost always be a project assigned to you throughout the semester. Students have noted an increase in difficulty compared to offerings of this course predating Fall 2018. We expect proficiency with Java (around the level taught in CS 61B) in order to work on the projects, with the exception of Project 1. Projects vary in difficulty. You can find more information about them in the Projects section below.
No data.
There is no required textbook for this class, and we will not be assigning required readings. However, if you would like to use a textbook while in this class, we recommend the following:
Database Management Systems, 3rd Edition, by Ramakrishnan and Gehrke (Former official textbook of this class)
Database Systems Concepts, 6th Edition, by Silberschatz, Korth and Sudarshan
Database Systems: The Complete Book, 2nd Edition, by Garcia-Molina, Ullman, and Widom (Previously used by Prof. Cheung)
Note that exams and all other aspects of the course will center on material as covered in the lectures, so defer to course material if there are any discrepancies with the textbook(s) you are using.
If you want to try to target your reading to the topics of this class, reading assignments from previous offerings of CS 186 for the Database Management Systems textbook can be found here. Reading assignments from a database class taught at a different university by Prof. Cheung for Database Systems: The Complete Book can be found here, although the topics taught in that class differ from those taught in this class.
Lecture notes available at Home
Old lecture videos can be found at Resources, available on YouTube at CS186Berkeley
Projects available at Projects
Resources available at Resources