Course Goals

CS 564 is designed to give students a solid background in database management systems, particularly relational database management systems (DBMSs). We will examine such systems from two perspectives: that of a DBMS user, and that of a DBMS implementor.

Approximately half of the course material will focus on the use of a DBMS. We will introduce the concept of a data model, the entity-relationship (ER) model, the relational model, and learn how to use the SQL query language. We will also cover logical and physical database design issues. The other half of the course will concentrate on DBMS implementation. We will cover file organization, various indexing methods, techniques for external sorting. We will also learn about how a DBMS implements a relational operator, and the basics of query optimization.


  • CS 367 is absolutely essential. CS 537 might be helpful.

  • You should know, or be willing to learn quickly by yourself, the programming language C++, which will be used for the DBMS internals project. To brush up your C++ skills, you can go through the lecture material for CS 368: C++ for Java Programmers, or the material from a more recent class found here. Check here and here for more C++ tutorials. Keep the links handy throught the semester as you may need to go to it for C++ help.

Course Format

  • The class meets two times a week (Mon+Wed) for 75-minute lectures. In addition to the lectures, there will be a discussion taught by the TAs on Fridays.

  • A midterm exam and a final exam.

  • 2 programming projects, each having two stages.

  • 2 written homework assignments.

Exam Dates

  • Final Exam: December 19, 7:25-9:25pm @ TBD

  • Midterm: October 23, 2:30-3:45pm (instead of discussion)


  • Projects: 30%

  • Homeworks: 10%

  • Midterm: 25%

  • Final: 35%


Recommended textbook:

  • Database management systems (3rd edition), by Raghu Ramakrishnan and Johannes Gehrke (also called the “cow book”).

Additional book that can be used:

  • Database Systems: The Complete Book (2nd edition), by Hector Garcia-Molina, Jennifer Widom, and Jeffrey Ullman.

Classroom Rules

  • All mobile phones, tablets, laptops, and other electronic devices must be switched off and closed during class.

  • No late days for projects or homeworks.

  • All work turned in is expected to be done individually. The University has very clear guidelines for academic misconduct in case plagiarism is detected.