Advanced Databases

Lecture:
Proseminar:
Language:
English
Office hours:
on demand (arranged via email)
Semester:
Winter 2018/2019
Course Evaluations:
PlusOnline:

This is a rough draft of the course website. Information may change until the start of the courses (VO+PS)!

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:

Course schedule and exam dates are available in PlusOnline. 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.

Lecture

Literature

The lecture is mainly based on Chapter 14 (Transactions), Chapter 15 (Concurrency Control), and Chapter 16 (Recovery Systems) of the following book:

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 slides for each topic will be made available the day before the topic is treated in the lecture.

Thema Folien
1. Transactions:: Transaction Concept, Transaction State, Concurrent Executions, Serializability, Recoverability, Implementation Isolation, Transaction Definition in SQL, Testing for Serializability [1up] [4up]
2. Concurrency Control:: Lock-Based Protocols, Timestamp-Based Protocols, Validation-Based Protocols, Multiversion Schemes, Insert and Delete Operations, Concurrency in Index Structures [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

Reading

Please prepare for the lecture by reading the relevant sections in the textbook. The course is designed to be attended by students that have read the relevant contents in the textbook. During the lecture we will focus on examples, deepening discussions, and student questions.

Date Reading
2018-10-10 Ch 14
2018-10-17 Ch 15.1
2018-10-31 Ch 15.2–15.3
2018-11-07 Ch 15.4
TBA Ch 15.5–15.8
TBA Ch 15.9–15.10
TBA Ch 16.1–16.3
TBA Ch 16.4–16.6
TBA Ch 16.7–16.10

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. Presumably there will be an exam (1) at the end of the semester, (2) before the summer break, and (3) in autumn.

How to prepare for the exam?

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

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 exam: 19.05.2017

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 by solving theoretical and practical exercises.

Pracitice exercises

Each lab has a dedicated exercise sheet which will be always published in advance. The exercises help us to better understand the details of the concepts introduced during the lecture. The exercises should be solved at home before the lab meeting. Then, during the meeting, we will review the solutions together and hopefully we will trigger interesting discussions.

The list of all exercises in Markdown: All Exercises.

Homeworks

The purpose of the homeworks is to apply the theoretical knowledge in a practical setting. Homeworks are mandatory and make 100% of the lab grade.

Schedule

Meetings Homeworks Deadline Points
10.10.2018 Vorbesprechung 23.10.2018, 21:59 0
24.10.2018 HW 1 30.10.2018, 21:59 1
31.10.2018 HW 2 06.11.2018, 21:59 1
07.11.2018 HW 3 20.11.2018, 21:59 1
21.11.2018 HW 4, cookie_jar_h4.py 27.11.2018, 21:59 1
28.11.2018 HW 5, cookie_jar_h5.py 05.12.2018, 12:00 1
05.12.2018 HW 6, cookie_jar_h6.py 12.12.2018, 12:00 1
12.12.2018 TBA TBA TBA
19.12.2018 TBA TBA TBA
09.01.2019 TBA TBA TBA
16.01.2019 TBA TBA TBA
23.01.2019 TBA TBA TBA

Homework submission

Each homework must be submitted through our abgaben system before the deadline (no exceptions).

Access details will be sent by email.

Depending on the homework, you have to submit a TXT file or a Python script. See the details of each homework.

Evaluation

The evaluation is based only 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