Datenbanken und Informationssysteme

Login |

Database System Architecture and Implementation (INF-20210)

Course Description

Modern database systems use advanced data structures and algorithms to manage and process data. Building on the basic database system course, this course looks at the internals of database systems in terms of their architecture and implementation. The lectures are structured according to the levels of a general layered software architecture for database systems, which is introduced at the beginning of the course. The course starts at the lowest level with the I/O system and the management of buffers and storage, i.e., disk and file management. Moving up a level of the architecture, the course then introduces different kinds of index structures, such as tree-based and hash-based indexes. Continuing from this groundwork, the course then focuses on query processing in terms of query execution and optimization. Finally, the course will teach how benchmarks can be used to qualitatively and quantitatively assess the performance of different database systems. Gathering and understanding results of database system benchmarks is the basis for selecting and tuning a database system for a given application. Throughout the course, students have a chance to get first-hand practical experience with the presented techniques and implementation concepts through a series of mandatory programming exercises.

Learning Goals

In this course, students will learn to understand and apply the data structures and algorithms that are used to realize the storage, indexing, and query processing functionality of contemporary relational database systems. In doing so, students will acquire the ability to differentiate between operating and database system functionality. Finally, the course imparts the knowledge required to assess the qualitative and quantitative differences between different relational database systems. Therefore, the course syllabus will enable students to make informed choices when selecting or tuning a database system for a given application.

General Information


The following skills, knowledge and courses are mandatory prerequisites to attend and successfully complete this course.

  • Basics of database systems: database design, query languages, database application programming, etc. (INF-12040 or equivalent)
  • Principles of database systems: relational model, relational algebra, normal forms, etc. (INF-12040 or equivalent)
  • Computer systems: computer architecture, operating systems, networks, etc. (INF-11740, INF-11880, or equivalent)
  • System programming: students must have the ability to program in a language appropriate for system implementation, such as C/C++, C# or Java. (INF-11930 or equivalent)
  • Key competences: Subversion, LaTeX, etc. (INF-10175 or equivalent)

Target Group

The course targets the following groups of students.

  • Advanced Bachelor students in Computer Science or Information Engineering, who are close to graduation and meet the mandatory minimum requirements for this course
  • Master students in Information Engineering, who meet the mandatory minimum requirements
  • All students, who meet the minimum requirements for this course and who plan to specialize in the area of databases and information systems by conducting a project or attending a practical course on this topic


The assignments of this course include reading assignments and practical programming exercises.

  • Reading assignments are the chapters of the textbook listed for each week in the course schedule. Not all information found in the textbook is available on the lecture slides. While the course is based on this material it will not cover all of it. You may be tested on anything in the referenced chapters of the course's textbook.
  • Programming exercises will be conducted in groups of two students. In the programming exercises students will implement some of the concepts and techniques that are introduced in the lecture and thereby gain practical experience with and knowledge of the internals of a database system.


The final exam of this course will be conducted as a 2-hour written exam. The first exam date will be on Monday, February 27, 2017, whereas the second exam date will be on Monday, April 10, 2017.


To register for this course, please use the Lehre, Studium, Forschung (LSF) system. Note that registration is recommended in order to receive official information regarding the course through e-mail.