Advanced Databases

Lecture:
Proseminar:
Language:
German / English
Office hours:
Semester:
Wintersemester 2020/2021
Course Evaluations:
PlusOnline:

News

Lecture

Questions and discussions

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

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.

Slides

The lecture will be held online. Videos with explainations on the slides will be made available.

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 has been treated in the lecture 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.

Note: The slide version of last year is already online to give you an overview, but this version may be subject to changes. The chapter numbers refer to the book "Database System Concepts" (see above).

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]

Exam

The exam will we written. In the case of very few registrations for an exam date, the exam will 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 written 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.

Example exams: 03.06.2016, 19.05.2017, 02.02.2018, 06.02.2019

Proseminar

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. The Proseminar takes place in the university (i.e., not digitally).

Paper-based exercises

There is a list of exercises to practice the concepts introduced in the lecture. The exercises help to better understand the details. Solve the exercises yourself at home. In the lab we will review the solutions together and answer additional questions.

The list of all exercises is on GitLab. Your contribution is more than welcome. You can contribute by reporting bugs, fixing bugs, and adding new content.

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 rely on PostgreSQL databse management system. Install it locally on your machine.

Schedule

Meetings Topic Download Submission details
14.10.2020 Vorbesprechung PostgreSQL | Source code of PostgreSQL
21.10.2020 Transactions and ACID Homework 1: Fun with transactions Blackboard test

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