Foundations of Databases and Query Languages
Foundations of Databases and Query Languages
Lehrveranstaltung mit SWS 2/2/0 (Vorlesung/Übung/Praktikum) in SS 2015
- Mündliche Prüfung
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 datamodel, 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
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.
An 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.
The general time plan is as follows:
- Lectures: each Monday in DS3 (11:10–12:40)
- Exercises: each Friday in DS4 (13:00–14:30)
However, there will be some exceptions that will be announced in the lecture. The first lecture is on Monday, 13 April 2015.
LegacyThe 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
|Vorlesung||Introduction/Relational data model||DS3, 13. April 2015 in APB E005||Download, Download|
|Übung||Relational algebra||DS4, 17. April 2015 in APB E005||Download|
|Vorlesung||First-Order Queries||DS3, 20. April 2015 in APB E005||Download, Download|
|Übung||First-Order Queries||DS4, 24. April 2015 in APB E005||Download|
|Vorlesung||Query Answering Complexity||DS3, 27. April 2015 in APB E005||Download, Download|
|Vorlesung||FO Query Answering Complexity||DS3, 4. Mai 2015 in APB E005||Download, Download|
|Übung||FO Query Answering Complexity||DS4, 8. Mai 2015 in APB E005||Download|
|Vorlesung||Conjunctive Queries||DS3, 11. Mai 2015 in APB E005||Download, Download|
|Übung||Conjunctive Queries, CSP, and Hypergraphs||DS4, 15. Mai 2015 in APB E005||Download|
|Vorlesung||Tree-Like Conjunctive Queries||DS3, 18. Mai 2015 in APB E005||Download, Download|
|Übung||Treewidth and Hypertree Width||DS4, 22. Mai 2015 in APB E005||Download|
|Vorlesung||Query Optimisation||DS3, 1. Juni 2015 in APB E005||Download, Download|
|Übung||FO Query Optimisation and Trakhenbrot's Theorem||DS4, 5. Juni 2015 in APB E005||Download|
|Vorlesung||CQ Optimisation and FO Expressivity||DS3, 8. Juni 2015 in APB E005||Download, Download|
|Übung||CQ Optimisation and FO Expressivity||DS4, 12. Juni 2015 in APB E005||Download|
|Vorlesung||FO Expressivity and Introduction to Datalog||DS3, 15. Juni 2015 in APB E005||Download, Download|
|Übung||FO Expressivity and Introduction to Datalog||DS4, 19. Juni 2015 in APB E005||Download|
|Vorlesung||Expressive Power and Complexity of Datalog||DS3, 22. Juni 2015 in APB E005||Download, Download|
|Übung||Datalog||DS4, 26. Juni 2015 in APB E005||Download|
|Vorlesung||Datalog Optimisation and Evaluation||DS3, 29. Juni 2015 in APB E005||Download, Download|
|Übung||Datalog (part 2 of previous exercise)||DS4, 3. Juli 2015 in|
|Vorlesung||Datalog Evaluation||DS3, 6. Juli 2015 in APB E005||Download, Download|
|Übung||Datalog Evaluation||DS4, 10. Juli 2015 in APB E005||Download|
|Vorlesung||Graph Databases and Path Queries||DS3, 13. Juli 2015 in APB E005||Download, Download|
|Übung||Path Queries||DS4, 17. Juli 2015 in APB E005||Download|
|Vorlesung||Database Theory in Practice||DS3, 20. Juli 2015 in APB E005||Download, Download|
|Übung||General Q&A Session||DS4, 24. Juli 2015 in APB E005|