Amazon logo Help support MIT OpenCourseWare by shopping at! MIT OpenCourseWare offers direct links to to purchase the books cited in this course. Click on the book titles and purchase the book from, and MIT OpenCourseWare will receive up to 10% of all purchases you make. Your support will enable MIT to continue offering open access to MIT courses.

Course Overview

This course is designed to introduce graduate students to the foundations of database systems, focusing on basics such as the relational algebra and data model, query optimization, query processing, and transactions. This is not a course on database design or SQL programming (though we will discuss these issues briefly). It is designed for students who have taken 6.033 (or equivalent); no prior database experience is assumed though students who have taken an undergraduate course in databases are encouraged to attend.

Classes will consist of lectures and discussions based on readings from the database literature. There will be a semester long project, as well as two exams and a few (2 or 3) problem sets.


Lectures are held twice a week. Attendance at lectures is mandatory and you are expected to show up prepared to answer questions and participate in discussion.

Topics Covered

Topics related to the engineering and design of database systems, including: data models; database and schema design; schema normalization and integrity constraints; query processing; query optimization and cost estimation; transactions; recovery; concurrency control; isolation and consistency; distributed, parallel, and heterogeneous databases; adaptive databases; trigger systems; pub-sub systems; semi-structured data and XML querying. Lecture and readings from original research papers. Semester-long project and paper.


Students should have taken 6.033 (Computer System Engineering (SMA 5501)) or equivalent as well as 6.046 (Introduction to Algorithms) or equivalent. If you do not have experience in these subjects and would like to take the course, please email the instructor. Prior database experience is not required. You may wish to review 6.033 Chapter 8, especially during our discussion of transactions and logging.


3-0-9. 6.830 is a Grad-H class. It counts as an engineering concentration (EC) subject in Systems. For Area II Ph.D. students in EECS, it satisfies the Systems TQE requirement.


Grades are assigned based on 3 problem sets, 2 quizzes, a final project, and class participation. The grading breakdown is as follows:

Problem Sets 25%
Exams (15% each) 30%
Final Project 30%
Class Participation 15%

Late assignments will not be accepted.

Collaboration Policy

For problem sets, you are allowed to discuss your answers with other students, but please write up your own answers and list your collaborators. Copying solutions from other students is never allowed. For the group project, you will work in teams and hand in only one written report.


The course readings will primarily be drawn from the following books:

Hellerstein, Joseph M., and Michael Stonebraker, eds. Readings in Database Systems. 4th ed. Cambridge, MA: MIT Press, 2005. ISBN: 0262693143.

Ramakrishnan, Raghu, and Johannes Gehrke. Database Management Systems. 2nd ed. New York, NY: McGraw-Hill, 2000. ISBN: 0072465352.

Note that the 3rd edition of Readings In Database Systems is a substantially different text (it does not include the same readings as the 4th edition).

Supplemental Readings

There will be several other readings that will be posted on the course Web site.