Advanced Databases

Lecture:
Proseminar:
Language:
German / English
Office hours:
Semester:
WS 2022/2023
Course Evaluations:

News

Introduction

The course provides an in-depth understanding of the techniques, algorithms, and data structures that are used in database systems. The focus of the course is on the relational data model and the following topics will be covered:

Lecture (VO)

Questions and discussions

For questions and discussions (also among students) regarding course specific topics please use the Slack channel #adb-vo (Workspace dbteaching.slack.com).

Slack registration: Students register with their university email here: https://dbteaching.slack.com/signup

Slides

Each set of slides treats a specific topic area and will be discussed in one or more lecture units. Slides that have not yet been discussed during the lecture may be subject to change. Once a slide set has been discussed in class, only bug fixes will be applied. Slide sets have a version (date) on the title page.

The slides and their discussion during the lecture are essential for the exam perparation.

Note: The slide version of last year is already online to give you an overview, but this version may be subject to change.

The chapter numbers in the following table refer to the book "Database System Concepts" (see Section Literature).

Topic Chapter Slides
1. Transactions: Transaction Concept, Transaction State, Concurrent Executions, Serializability, Recoverability, Implementation Isolation, Transaction Definition in SQL, Testing for Serializability Ch. 14 [1up] [4up]
2. Concurrency Control: Lock-Based Protocols, Timestamp-Based Protocols, Validation-Based Protocols, Multiversion Schemes, Insert and Delete Operations, Concurrency in Index Structures Ch. 15 [1up] [4up]
3. Recovery System: Failure Classification, Storage Structure, Recovery and Atomicity, Log-Based Recovery, Recovery Algorithm, Recovery with Early Lock Release and Logical Undo, ARIES Ch. 16 [1up] [4up]

Literature

Silberschatz, Korth, Sudarshan.
Database System Concepts.
McGraw-Hill, 2011 (6th edition)

Multiple copies of the book are available in the textbook collection of the department library (Itzling).

Exam

The exam will be written. In the case of very few registrations for an exam date, the exam may be held as an oral exam; in this case the students will be notified before the exam.

The exam dates will be announced on PlusOnline.

At the written exam you are allowed to use one A4 sheet with your personal notes (both sides, hand written or printed). During the oral exam no notes are allowed.

The exam may be held online. The kind of exercises, notes allowed during the exam, and the exam duration are not affected by whether the written exam is held online.

You may register or cancel the registration up to 48 hours before the exam. If you do not show up for a registered exam, you will be blocked for this exam according to the university regulations §15(7).

Past exams: 03.06.2016, 19.05.2017, 02.02.2018, 06.02.2019, 07.02.2020, 15.03.2021, 19.01.2022, 15.02.2022

Lab (PS)

We will practice the concepts discussed in the lecture regarding transactions, concurrency, and recovery. We will exercise numerous techniques to deal with the problems related to these topics and apply the gained knowledge in a practical setting. To this end, there will be an initial individual task, and four group tasks (all named Homeworks). Each group contains a maximum of 3 students. Every homework solution (including source code) is submitted via Blackboard. The key results and a small live demo of the group tasks are presented in person in the seminar. You can freely decide whether you present in German or English.

The first appointment is at Thu Oct 13 including: Kickoff, detailed schedule of the PS, and Short description of the first task.

Homeworks

The purpose of the homeworks is to apply the our knowledge in a practical setting. Homeworks are mandatory and make 100% of the lab grade. Homeworks partially rely on PostgreSQL databse management system. Install it locally on your machine.

Schedule

Meetings Topic Download Submission details
Oct 13 Vorbesprechung PostgreSQL | Source code of PostgreSQL

Evaluation

The evaluation is based solely on the submitted homeworks with the following grading scale.

Points Mark
[8.75, 10.00] 1
[7.50, 8.75) 2
[6.25, 7.50) 3
[5.00, 6.25) 4
[0.00, 5.00) 5