20574 Database Systems Implementation 1

Credits: 4 advanced credits in Computer Science

Prerequisites: Students must fulfill all English requirements and take bibliographic instruction in the Library.

Required: Data Structures and Introduction to Algorithms (or Data Structures), Database Systems

Recommended: Operating Systems

The course is based on Database Management Systems (3rd ed.), by R. Ramakrishnan and J. Gehrke (McGraw Hill, 2003).

The course deals with architectures of software systems for managing databases and with the principles and algorithms on which the various components of these systems are based, mainly with respect to relational databases. It includes programming assignments which are implementations of the various components of the database management systems studied. Assignments can be submitted in any high-level language (Java, C, C++, or similar language of which the student has good command).

Topics: Storage and indexing storing data on disks and files, index structures; Query evaluation and processing; Transaction management concurrency control, crash recovery, physical database design and tuning.

1There is some overlap in the content of this and other courses. For details, see Overlapping Courses.