Advanced Databases
News
- Lecture (VO): On request by the majority of the students, from now on the lecture will take place Wed 8:25-10:55, room HS I - Christian Doppler.
- Lab (PS): The lab will start Thu Oct 10, 16:00, T03 .
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:
- transactions
- concurrency
- recovery
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
Schedule
Schedule of the lecture according to PlusOnline. Deviations will be communicated explicitly in the Slack channel #adb-vo and/or the course website. The exam dates will be announced in PlusOnline.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)
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.
Oral Exam Rules: The exam lasts for about 30 minutes. The questions cover all topics treated during the lecture, and some of them are very specific: You are expected to be able to justify your statements conclusively, show the execution steps of algorithms on example instances (that you come up with), and explain each of the steps.
The grading considers:
- the technical correctness of the answer,
- the profoundnes of the answer, i.e., the level of detail that the answer provides,
- the completeness of the answer, i.e., have all relevant aspects be covered?,
- correct use of the terminology,
- the ability to answer in-depth questions.
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, 23.09.2022, 25.01.2023, 16.03.2023, 20.04.2023, 31.01.2024, 28.02.2024, 24.05.2024
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 12 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 10 | Kickoff | 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 |