Advanced Databases

Lecture:
Proseminar:
Language:
English
Office hours:
on demand (arranged via email)
Semester:
Winter 2016/2017
PlusOnline:

News

No lecture on Jan 30, 2017.

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 folloing 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

Topic Slides
Transactions [PPT]
Concurrency Control [PPT]
Recovery System [PPT]

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
2016-10-03 Ch 14.1–14.5
2016-10-10 Ch 14.6–14.10
2016-10-17 Ch 15.1.1–15.1.3
2016-10-24 Ch 15.1.4–15.1.5, Ch 15.2
2016-11-07 Ch 15.3
2016-11-14 Ch 15.4 (including View Serializability)
2016-11-21 Ch 15.5–15.6
2016-11-28 Ch 15.7–15.8
2016-12-05 Ch 15.9–15.10
2016-12-12 Ch 16.1–16.3
2016-12-19 Ch 16.4
2017-01-09 Ch 16.5–16.6
2017-01-16 Ch 16.7
2017-01-23 Ch 16.8
2017-01-30 Ch 16.9

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. 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 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.

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.

Each lab consists of three sections:

The grading is based on homeworks that must be solved and submitted individually before the deadline.

IN-LAB

During our meetings we solve exercises which will help us better understand the details of the concepts introduced during the lecture. The exercises will be solved together, which will hopefully trigger a constructive discussion.

You are encouraged to solve the exercises before the lab meeting.

Homeworks

The purpose of the homeworks is to apply the theoretical knowledge in a practical setting and to deepen the understanding of the implementation details of Database Management Systems.

Schedule

Meetings Exercises Homework deadline
10.10.2016 Vorbesprechung ---
17.10.2016 Labs 1 23.10.2016, 23:59
24.10.2016 Labs 2 30.10.2016, 23:59
31.10.2016 Labs 3 11.11.2016, 21:59
14.11.2016 Labs 4 | simulator.py 23.11.2016, 21:59
28.11.2016 Labs 5 04.12.2016, 23:59
05.12.2016 Labs 6 11.12.2016, 23:59
12.12.2016 Labs 7 | simulator_group.py 18.12.2016, 23:59
19.12.2016 Labs 8 NO HOMEWORK
09.01.2017 Labs 9 15.01.2017, 23:59
16.01.2017 Labs 10 | sample-input.txt | generate_tests.py 29.01.2017, 23:59
23.01.2017 Labs 11 10.01.2017, 13:59

Homework submission

Each homework must be submitted through our dbabgabe system.

Access details will be sent by email.

The homeworks can be submitted as TXT or PDF files (including readable and neat handwriting). However, only the PDF submissions can be viewed in the students frontend. Some programming homeworks may require to submit a Python script.

Evaluation

The evaluation is based only on the submitted homeworks with the following grading scale (1 point for each homework; 10 homeworks in total).

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