CS 564 / Spring 2015: Database Management Systems
Lectures: Wed/Fri 2:30-3:45 pm, room 1240, CS Building.
Discussions: Mon 2:25-3:15 pm, room 1240, CS Building
Discussions will be used to discuss the project and to make up for certain lectures. Hence attending them is mandatory.
IMPORTANT: The classroom has been changed from Humanities 1111 to Computer Science 1240! Pls attend all lectures
and discussion sessions in 1240.
- 1/25: The midterm exam will be on Fri Mar 13, in class.
- 1/13: Classroom has been changed to CS 1240.
- 1/13: The first class is Wed 1/21. Make sure
you are on the mailing list email@example.com.
- 1/13: Exam materials:
564 in Fall 2006 had two midterms. Here is the first one, and here is the second one. Here's
sample final from Fall 06 in DOC.
Here's the sample midterm from
Fall 07. Note that the B+ tree figure is missing from the last
question (probably the doc file was corrupted). However, it
should still give you an idea on what's to be expected.
Here's the midterm from Fall 09 and
here's a solution for it.
Here's the final from Fall 2009.
And here's the solution for selected problems in finals 2006 and 2009.
- Midterm exam: in class, Fri March 13, 75 min, closed book/note
- Final exam: 2:45 - 4:45 pm Wed, May 13, Room: CHEM 1361
- Last class is Fri May 8.
- No class on Mon Mar 30, Wed Apr 1, and Fri Apr 3 (spring break).
Course Schedule is listed
on a separate page.
See the project page.
AnHai Doan (contact information on my homepage).
Office hours: Tue 1-2pm, Fri 4-5pm, and by appointment, in CS 4355.
TAs: Avinaash Gupta, firstname.lastname@example.org, Office hours: Mon 3:45-4:45pm, Wed 1-2pm in Room 1308 CS
Harneet Singh, email@example.com, Office hours: Mon 11-noon and Thur 11am-noon in Room 3367 CS
Class Mailing List: firstname.lastname@example.org.
CS 564 is intended to give students a solid background in database management systems,
particularly relational database management systems. Such systems will be examined from two
perspectives: that of a database system user, and that of a database system implementor.
Approximately half of the course material will focus on the use of
database management systems. The concept of a data model will be
introduced, the entity-relationship model will be covered, and then
the relational data model and the SQL query language will be examined
in detail. This part of the course will also cover logical and
physical database design issues. Advanced features such as views and
security will also be discussed briefly.
The other half of the course will concentrate on the implementation of
relational database management systems. Topics to be covered include
file organizations, access methods (e.g., ISAM, B+ trees, linear and
extendible hashing), external sorting techniques, the implementation
of relational database operations, and the basic concepts of query
optimization. Concurrency control, recovery, and other advanced
implementation issues will also be touched upon as time
Although this is a two-part course, the presentation of the two parts
will be interleaved in order to spread the course's programming work
out as smoothly as possible over the whole semester.
CS 367 is absolutely essential. CS 537 might be useful. You should know or
be willing to learn quickly a high-level language such as Java, C++, Perl, Python,
or PhP, in order to do the project (for the project, your team can choose the high-level
language that you will use).
Grade: midterm = 25%, final = 35%, project = 40%.
- Two 75-min lectures per week, and optional discussion sections on
Mondays. The default is that we will have no
discussion. When we need to have a discussion section on a particular
day, I will let you know in advance and also email the mailing
- A midterm exam and a final exam (see "Important Dates" for their dates).
- A programming project with multiple stages. Details will be posted
as the semester progresses.
Cell phones must be turned off. No smart phone browsing during the class. No laptops open.
Strongly recommended: "Database Management Systems", R. Ramakrishnan
and J. Gehrke, third edition, McGraw-Hill. Another good book is
"Database Systems: The Complete Book (2nd Edition)", H. Garcia-Molina,
J. Ullman, and J. Widom.