Database Theory

Aus International Center for Computational Logic
Wechseln zu:Navigation, Suche

Database Theory

Lehrveranstaltung mit SWS 4/2/0 (Vorlesung/Übung/Praktikum) in SS 2020

Dozent

Tutor

Umfang (SWS)

  • 4/2/0

Module

Leistungskontrolle

  • Mündliche Prüfung

Vorlesungsreihe


Announcement: because of the COVID-19 pandemic, the schedule and location of this lecture have changed quite a bit. For more information have a look at the corresponding section below.

Course Description

Databases are a key technology in computer science that brings together fascinating theoretical topics and highly relevant practical applications. The goal of this lecture is to give an extended introduction to this interesting field, with a special focus on database query languages, their expressive power, and computational complexity. The lecture will introduce the relational data model, and then discuss theoretical and practical aspects of a variety of query languages:

  • first-order logic as a query language and the relational algebra
  • conjunctive queries and their unions
  • navigational queries: path queries
  • Datalog and its relatives
  • query answering under database dependencies

The lecture focuses on core principles that apply to many types of databases alike (relational, graph-based, semantic web). Some important query answering algorithms are presented, too, but otherwise, the details of database implementation and administration are not covered.

Prerequisites

Undergraduate-level knowledge of predicate logic, regular languages, and algorithmic and computational complexity is required. The lecture will connect with other topics in the Computer Science and Computational Logic curriculum, such as relational databases, logic programming, and Semantic Web technologies – familiarity with these topics is not required to follow the lecture.

Schedule and Location

Because of the ongoing COVID-19 pandemic, we have decided to transform this lecture into an online course. If the university reopens later on during the semester, we will probably revert to a standard, in-person lecture. For now, we will be doing the following:

  • Every week on Tuesday, we will publish two videos with the weekly lectures.
  • Every week on Monday, we will post one video with the weekly exercises.
  • The videos with the lectures and exercises will be posted on this webpage under the "Dates and Materials" tab.
  • Every week, we will host a "live session" in which the students can ask us questions. This session, which will take place on Wednesdays from 11:10 to 12:40, can be joined using this link (if you cannot access the chatroom, do send us an email).
  • We have set up an online forum using Opal in which the students can post questions and discuss topics related to this course.
  • Note that we will neither post an exercise video nor host a "live session" in the first week of the semester. That is, we will only post two videos with the weekly lectures in the first week.


When the university reopens, we will follow this schedule:

  • The weekly lecture sessions will take place on Tuesdays from 14:50 to 16:20 and Wednesdays from 11:10 to 12:40.
  • The weekly exercise session will take place on Tuesdays from 11:10 to 12:40.

All sessions will take place in room APB/E005.

Legacy

This course has first been taught at TU Dresden by Prof. Dr. Markus Krötzsch in the form of the 2015 lecture Foundations of Databases and Query Languages, the 2018 lecture Database Theory, and the 2019 lecture Database Theory. The plan for this year's course will be somewhat similar.

The structure of some of the lectures of this course is inspired by the course Theory of Data and Knowledge Bases in the version given by Georg Gottlob and Thomas Lukasiewicz at the University of Oxford.

The main reference textbook for the lecture is:

  • Serge Abiteboul, Richard Hull, Victor Vianu: Foundations of Databases. Addison-Wesley. 1994.
The book is available for free from its webpage, but there are also copies in the library.

Further texts might be consulted for background information and additional details:

  • Michael Sipser: Introduction to the Theory of Computation. 2005
Accessible introduction to complexity theory that covers all topics of computational complexity that the lecture touches upon.
  • Evgeny Dantsin, Thomas Eiter, Georg Gottlob, Andrei Voronkov: Complexity and expressive power of logic programming. ACM Computing Surveys, 33:3, pp 374-425, 2001.
Covers all Datalog complexity results mentioned in the lecture. Available at http://dx.doi.org/10.1145/502807.502810 (may require access from within a university network)
  • additional references will be added in the course of the lecture

Veranstaltungskalender abonnieren (icalendar)

Vorlesung Introduction/Relational Data Model DS7, 7. April 2020 in Screencast Datei 1 Datei 2 Datei 3
Vorlesung First-Order Queries (part 1) DS8, 7. April 2020 in Screencast Datei 1 Datei 2 Datei 3
Übung Relational Algebra DS8, 13. April 2020 in Screencast Datei 1 Datei 2 Datei 3
Vorlesung First-Order Queries (part 2) DS7, 14. April 2020 in Screencast Datei
Vorlesung Complexity of Query Answering DS8, 14. April 2020 in Screencast Datei 1 Datei 2 Datei 3
Übung First-Order Queries DS8, 20. April 2020 in Screencast Datei 1 Datei 2 Datei 3
Vorlesung Complexity of FO Query Answering (1) DS7, 21. April 2020 in Screencast Datei 1 Datei 2 Datei 3
Vorlesung Complexity of FO Query Answering (2) DS8, 21. April 2020 in Screencast Datei 1 Datei 2 Datei 3
Übung Complexity of FO Query Answering DS8, 27. April 2020 in Screencast Datei 1 Datei 2 Datei 3
Vorlesung Conjunctive Queries DS7, 28. April 2020 in Screencast Datei 1 Datei 2 Datei 3
Vorlesung Tree-Like Conjunctive Queries (1) DS8, 28. April 2020 in Screencast Datei 1 Datei 2 Datei 3
Übung Conjunctive Queries, CSP, and Hypergraphs DS8, 4. Mai 2020 in Screencast Datei 1 Datei 2 Datei 3
Vorlesung Tree-Like Conjunctive Queries (2) DS7, 5. Mai 2020 in Screencast Datei 1 Datei 2 Datei 3
Vorlesung Query Optimisation DS8, 5. Mai 2020 in Screencast Datei 1 Datei 2 Datei 3
Übung Treewidth and Hypertreewidth DS8, 11. Mai 2020 in Screencast Datei 1 Datei 2 Datei 3
Vorlesung Conjunctive Query Optimisation DS7, 12. Mai 2020 in Screencast Datei 1 Datei 2 Datei 3
Entfällt No lecture: Dies Academicus DS8, 12. Mai 2020 in N/a
Übung Trakhtenbrot's Theorem DS8, 18. Mai 2020 in Screencast Datei 1 Datei 2 Datei 3
Vorlesung Query Expressiveness (Part 1) DS7, 19. Mai 2020 in Screencast Datei 1 Datei 2 Datei 3
Vorlesung Query Expressiveness (Part 2) DS8, 19. Mai 2020 in Screencast
Übung Query Optimisation and FO Query Expressivity DS8, 25. Mai 2020 in Screencast Datei 1 Datei 2 Datei 3
Vorlesung Datalog Introduction DS7, 26. Mai 2020 in Screencast Datei 1 Datei 2 Datei 3
Vorlesung Datalog Expressivity DS8, 26. Mai 2020 in Screencast Datei 1 Datei 2 Datei 3
Entfällt No Exercise Session: Pentecost DS8, 1. Juni 2020 in N/a
Entfällt No Lecture: Pentecost DS7, 2. Juni 2020 in N/a
Entfällt No Lecture: Pentecost DS8, 2. Juni 2020 in N/a
Übung Datalog DS8, 8. Juni 2020 in Screencast Datei 1 Datei 2 Datei 3
Vorlesung Datalog Evaluation (1) DS7, 9. Juni 2020 in Screencast Datei 1 Datei 2 Datei 3
Vorlesung Datalog Evaluation (2) DS8, 9. Juni 2020 in Screencast Datei 1 Datei 2 Datei 3
Übung Semi-Positive Datalog DS8, 15. Juni 2020 in Screencast Datei 1 Datei 2 Datei 3
Vorlesung Graph Databases DS7, 16. Juni 2020 in Screencast Datei 1 Datei 2 Datei 3
Vorlesung Regular Path Queries DS8, 16. Juni 2020 in Screencast Datei 1 Datei 2 Datei 3
Entfällt No Exercise Session DS8, 22. Juni 2020 in N/a
Entfällt No Lecture DS7, 23. Juni 2020 in N/a
Entfällt No Lecture DS8, 23. Juni 2020 in N/a
Übung Datalog Evaluation DS8, 29. Juni 2020 in Screencast Datei 1 Datei 2 Datei 3
Vorlesung Dependencies DS7, 30. Juni 2020 in Screencast Datei 1 Datei 2 Datei 3
Vorlesung The Chase DS8, 30. Juni 2020 in Screencast Datei 1 Datei 2 Datei 3
Übung Graph Databases and Path Queries DS8, 6. Juli 2020 in Screencast Datei 1 Datei 2 Datei 3
Vorlesung Query Answering Beyond Acyclic TGDs DS7, 7. Juli 2020 in Screencast Datei 1 Datei 2 Datei 3
Entfällt No Lecture DS8, 7. Juli 2020 in Screencast
Übung Dependencies DS8, 13. Juli 2020 in Screencast Datei 1 Datei 2 Datei 3


Kalender