Instituts-Logo Logik in der Informatik
Prof. Dr. Nicole Schweikardt
Humboldt-Logo

Logbuch zur Vorlesung Einführung in die Datenbanktheorie

Wintersemester 2016/17

Hier finden Sie (nach den Vorlesungen) Informationen zum Inhalt der einzelnen Vorlesungsstunden, Tipps zum Weiterlesen und gelegentlich ergänzende Bemerkungen.

Vorsicht: In der Vorlesung und der Übung werden viele wichtige Dinge (insbesondere Beweise, aber auch einiges andere) an der Tafel erklärt. Diese Dinge sind für die Veranstaltung "Logik und Datenbanken" wesentlich und daher auch dann prüfungsrelevant, wenn sie nicht in den hier erhältlichen pdf-Dateien der Folien enthalten sind.


  1. Mi, 19.10.2016:

    Eröffnungsveranstaltung. Klärung von Organisatorischem (entlang der Webseite der Vorlesung). Kapitel 1: Einleitung. Kapitel 2: Das Relationale Modell - heute: Relationsschemata und Relationen

    Material: Folien 1-16
    Weitere Lektüre: Teil A von [AHV] und Abschnitte 19.1 und 19.2 des Artikels [SSS]

  2. Do, 20.10.2016:

    Abschluss von Kapitel 2: Das Relationale Modell - heute: Datenbankschemata und Datenbank(instanz)en, Beispieldatenbank mit Kinodaten, Anfragen und Anfragefunktionen, generische Anfragefunktionen, Boolesche Anfragen, Datenkomplexität und kombinierte Komplexität
    Start mit Kapitel 3: Konjunktive Anfragen - heute: Syntax und Semantik von regelbasierten konjunktiven Anfragen

    Material: Folien 17-38
    Weitere Lektüre: Teil A und Kapitel 4.1 und 4.2 von [AHV]

  3. Mi, 26.10.2016:

    Weiter mit Kapitel 3: Konjunktive Anfragen - heute: der "active domain" von Datenbanken und Anfragen; Monotonie und Erfüllbarkeit regelbasierter konjunktiver Anfragen; Syntax und Semantik von Tableau-Anfragen

    Material: Folien 39-45, Übungsblatt 1
    Weitere Lektüre: Teil A und Kapitel 4.1 und 4.2 von [AHV]

  4. Do, 27.10.2016:

    Weiter mit Kapitel 3: Konjunktive Anfragen - heute: Syntax und Semantik des konjunktiven Kalküls; eine Normalform für CQ; Äquivalenz der Ausdrucksstärke von Tableau-Anfragen, konjunktivem Kalkül und regelbasierten konjunktiven Anfragen; regelbasierte konjunktive Anfragen mit "="

    Material: Folien 46-61
    Weitere Lektüre: Teil A und Kapitel 4.1 und 4.2 von [AHV]

  5. Mi, 02.11.2016:

    Weiter mit Kapitel 3: Konjunktive Anfragen - heute: regelbasierte konjunktive Programme; Auswertungskomplexität konjunktiver Anfragen: ein "naiver" Algorithmus zum Auswerten konjunktiver Anfragen; der Begriff der "Algorithmen mit Verzögerung f(k,n)"; Beginn des Beweises von Theorem 3.20 (Transformation eines Algorithmus zur Auswertung Boolescher Anfragen des konjunktiven Kalküls zu einem Algorithmus zur Auswertung beliebiger Anfragen des konjunktiven Kalküls, so dass die Verzögerung zwischen der Ausgabe zweier Ergebnis-Tupel O(k^3 n) ist)

    Material: Folien 61-70, Übungsblatt 2
    Weitere Lektüre: Kapitel 4.3 von [AHV]

  6. Do, 03.11.2016:

    Weiter mit Kapitel 3: Konjunktive Anfragen - heute: Abschluss des Beweises von Theorem 3.20 (Transformation eines Algorithmus zur Auswertung Boolescher Anfragen des konjunktiven Kalküls zu einem Algorithmus zur Auswertung beliebiger Anfragen des konjunktiven Kalküls, so dass die Verzögerung zwischen der Ausgabe zweier Ergebnis-Tupel O(k^3 n) ist); NP, Polynomialzeit-Reduktionen und NP-Vollständigkeit; Nachweis der NP-Vollständigkeit des Auswertungsproblems (kombinierte Komplexität) für Boolesche regelbasierte konjunktive Anfragen (ein Satz von Chandra und Merlin)

    Material: Folien 70-77
    Weitere Lektüre: Kapitel 4.3 von [AHV]; die Originalarbeit [CM] von Chandra und Merlin finden Sie hier

  7. Mi, 09.11.2016:

    Weiter mit Kapitel 3: Konjunktive Anfragen - heute: Folgerung aus der NP-Vollständigkeit; SPC-Algebra und SPJR-Algebra: Syntax, Semantik und viele Beispiele

    Material: Folien 78-94, Übungsblatt 3
    Weitere Lektüre: Kapitel 4.3, 4.4 und 4.5 von [AHV]; die Originalarbeit [CM] von Chandra und Merlin finden Sie hier; eine Einführung [G] in die Parametrische Komplexität für Datenbanktheoretiker_innen ist hier erhältlich.

  8. Do, 10.11.2016:

    Weiter mit Kapitel 3: Konjunktive Anfragen - heute: Nachweis der Äquivalenz der Ausdrucksstärke von SPC-Algebra und SPJR-Algebra; Nachweis der Äquivalenz zwischen SPC-Algebra, SPJR-Algebra, Tableau-Anfragen, regelbasierten konjunktiven Anfragen und Anfragen des konjunktiven Kalküls; Vorbemerkungen zum Thema Optimierung; Definition des Erfüllbarkeitsproblems, des Äquivalenzproblems, des Query Containment Problems

    Material: Folien 95-102
    Weitere Lektüre: Kapitel 4.4, 4.5 und 6.2 von [AHV]

  9. Mi, 16.11.2016:

    Weiter mit Kapitel 3: Konjunktive Anfragen - heute: Einführung der Begriffe "Substitution", "Homomorphismus" (für Tableau-Anfragen) und "Kanonische Datenbanken"; den Homomorphismussatz bewiesen

    Material: Folien 103-107
    Weitere Lektüre: Kapitel 6.2-6.4 von [AHV]; die Originalarbeit [CM] von Chandra und Merlin finden Sie hier

  10. Do, 17.11.2016:

    Weiter mit Kapitel 3: Konjunktive Anfragen - heute: NP-Vollständigkeit des Query Containment Problems für Tableau-Anfragen nachgewiesen; Minimierung von Tableau-Anfragen; Greedy-Algorithmus zur Minimierung von Tableau-Anfragen (inkl. Korrektheitsbeweis)

    Material: Folien 107-109
    Weitere Lektüre: Kapitel 6.2-6.4 von [AHV]; die Originalarbeit [CM] von Chandra und Merlin finden Sie hier

  11. Mi, 23.11.2016:

    Weiter mit Kapitel 3: Konjunktive Anfragen - heute: ein Beispiel zur Verwendung der Tableau-Minimierung zur Optimierung von SPJR-Anfragen; azyklische konjunktive Anfragen, Join-Bäume, Semijoin-Anfragen, ein effizienter Algorithmus zur Auswertung von Semijoin-Anfragen

    Material: Folien 110-116, Übungsblatt 4
    Weitere Lektüre: Kapitel 6.2 und 6.4 von [AHV]

  12. Do, 24.11.2016:

    Weiter mit Kapitel 3: Konjunktive Anfragen - heute: die Äquivalenz von Booleschen Semijoin-Anfragen und azyklischen regelbasierten Booleschen Anfragen

    Material: Folien 117
    Weitere Lektüre: Kapitel 6.2 und 6.4 von [AHV]

  13. Mi, 30.11.2016:

    Weiter mit Kapitel 3: Konjunktive Anfragen - heute: ein Algorithmus zum Test auf Azyklizität und zum Erzeugen von Join-Bäumen (inkl. Korrektheitsbeweis); der Satz von Yannakakis, der besagt, dass das Auswertungsproblem für azyklische konjunktive Anfragen (kombinierte Komplexität) in Polynomialzeit gelöst werden kann; die Komplexitätsklasse LOGCFL

    Material: Folien 118-121, Übungsblatt 5
    Weitere Lektüre: Kapitel 6.2 und 6.4 von [AHV]. Die Originalarbeit [Y] von Yannakakis. Einen Überblick über Verallgemeinerungen des Begriffs der azyklischen Anfragen gibt die Arbeit [Sca] von Scarcello.

  14. Do, 01.12.2016:

    Abschluss von Kapitel 3: Konjunktive Anfragen - heute: das konjunktive Guarded Fragment GF(CQ) eingeführt und gezeigt, dass mit Sätzen von GF(CQ) genau dieselben Booleschen Anfragen beschrieben werden können wie mit Booleschen Semijoin-Anfragen bzw. mit azyklischen Booleschen regelbasierten Anfragen; kurzer Überblick über die Multimengen-Semantik regelbasierter konjunktiver Anfragen, inkl. Überblick über Forschungsergebnisse und offene Forschungsfragen

    Material: Folien 122-132
    Weitere Lektüre: Kapitel 6.2 und 6.4 von [AHV].

  15. Mi, 07.12.2016:

    Start mit Kapitel 4: Datalog - heute: einführendes Beispiel; Syntax von Datalog; der "immediate consequence-Operator" TP und der "Stufen-Operator" SP; die Fixpunkt-Semantik von Datalog; ein Algorithmus zum Auswerten von Datalog-Anfragen (dessen Datenkomplexität in Polynomialzeit liegt); Modellbasierte Semantik von Datalog und der Satz von Knaster und Tarski

    Material: Folien 133-147, Übungsblatt 6
    Weitere Lektüre: Umfassende Informationen zum Thema Datalog finden sich in Teil D von [AHV] und in dem Überblicksartikel [Datalog] von Dantsin, Eiter, Gottlob und Voronkov

  16. Do, 08.12.2016:

    Weiter mit Kapitel 4: Datalog - heute: Beweisbasierte Semantik von Datalog, Fakten und Beweisbäume; Monotonie von Datalog-Anfragen Q und deren Abschluss unter adom(Q)-Homomorphismen; Konstruktion eines Datalog-Programms PM,k, das bei Eingabe einer Datenbank Iw, die ein Wort w repräsentiert, die ersten |w|k-1 Schritte des Laufs der Turingmaschine M bei Eingabe w simuliert: Beginn des Beweises

    Material: Folien 148-155
    Weitere Lektüre: Umfassende Informationen zum Thema Datalog finden sich in Teil D von [AHV] und in dem Überblicksartikel [Datalog] von Dantsin, Eiter, Gottlob und Voronkov; in letzterem ist auch ein Beweis des Satzes von Immerman und Vardi über die Komplexität des Auswertungsproblems für Datalog-Anfragen zu finden.

  17. Mi, 14.12.2016:

    Weiter mit Kapitel 4: Datalog - heute: Konstruktion eines Datalog-Programms PM,k, das bei Eingabe einer Datenbank Iw, die ein Wort w repräsentiert, die ersten |w|k-1 Schritte des Laufs der Turingmaschine M bei Eingabe w simuliert: Weiterführung des Beweises; Formulierung eines Satzes von Immerman und Vardi, der besagt, dass das Auswertungsproblem für Datalog-Anfragen bzgl. kombinierter Komplexität EXPTIME-vollständig und bzgl. Datenkomplexität PTIME-vollständig ist

    Material: Folien 155-156, handschriftliche Notizen zum Beweis von Satz 4.13 (Datalog zur Simulation von Turingmaschinen), Übungsblatt 7
    Weitere Lektüre: Umfassende Informationen zum Thema Datalog finden sich in Teil D von [AHV] und in dem Überblicksartikel [Datalog] von Dantsin, Eiter, Gottlob und Voronkov; in letzterem ist auch ein Beweis des Satzes von Immerman und Vardi über die Komplexität des Auswertungsproblems für Datalog-Anfragen zu finden. Grundlegende Informationen zu logspace-Reduktionen und zur PTIME-Vollständigkeit finden sich z.B. in Kapitel 8 "Reductions and Completeness" des Buchs [P].

  18. Do, 15.12.2016:

    Erster Zwischentest

  19. Mi, 04.01.2017:

    Weiter mit Kapitel 4: Datalog - heute: Konstruktion eines Datalog-Programms PM,k, das bei Eingabe einer Datenbank Iw, die ein Wort w repräsentiert, die ersten |w|k-1 Schritte des Laufs der Turingmaschine M bei Eingabe w simuliert: Abschluss des Beweises;
    das Erfüllbarkeitsproblem für Datalog-Anfragen; das Query Containment Problem (QCP) für Datalog-Anfragen; Beginn des Beweises der Unentscheidbarkeit des QCP für Datalog-Anfragen

    Material: Folien 155-158
    Weitere Lektüre: Umfassende Informationen zum Thema Datalog finden sich in Teil D von [AHV] und in dem Überblicksartikel [Datalog] von Dantsin, Eiter, Gottlob und Voronkov

  20. Do, 05.01.2017:

    Weiter mit Kapitel 4: Datalog - heute: Abschluss des Beweises der Unentscheidbarkeit des QCP für Datalog-Anfragen; Beschränktheit von Datalog-Programmen; Idee zum Beweis der Unentscheidbarkeit der Beschränktheit von Datalog-Programmen

    Material: Folien 158-161, Übungsblatt 8
    Weitere Lektüre: Umfassende Informationen zum Thema Datalog finden sich in Teil D von [AHV] und in dem Überblicksartikel [Datalog] von Dantsin, Eiter, Gottlob und Voronkov

  21. Mi, 11.01.2017:

    Weiter mit Kapitel 4: Datalog - heute: nicht-rekursives Datalog (nr-Datalog), der Abhängigkeitsgraph eines Datalog-Programms, Charakterisierung der Ausdrucksstärke von nr-Datalog via SPCU-Algebra und positiv existentiellen Kalkül

    Material: Folien 162-166, Übungsblatt 9
    Weitere Lektüre: Umfassende Informationen zum Thema Datalog finden sich in Teil D von [AHV] und in dem Überblicksartikel [Datalog] von Dantsin, Eiter, Gottlob und Voronkov

  22. Do, 12.01.2017:

    Abschluss von Kapitel 4: Datalog - heute: Datalog mit Negation: semipositives Datalog mit Negation, stratifiziertes Datalog mit Negation, nicht-rekursives Datalog mit Negation
    Beginn mit Kapitel 5: Funktionale Abhängigkeiten - heute: Einführung ins Thema

    Material: Folien 167-185
    Weitere Lektüre: Kapitel 8.1 und 8.2 von [AHV]
    Umfassende Informationen zum Thema Datalog finden sich in Teil D von [AHV] und in dem Überblicksartikel [Datalog] von Dantsin, Eiter, Gottlob und Voronkov

  23. Mi, 18.01.2017:

    Weiter mit Kapitel 5: Funktionale Abhängigkeiten - heute: Grundbegriffe zum Thema "funktionale Abhängigkeiten" und FD-Mengen; verlustfreie Joins (inkl. Beweis von Proposition 6.2); Beginn des Abschnitts über "The Chase - die Verfolgungsjagd": ein Beispiel zur Minimierung von Tableau-Anfragen unter Berücksichtigung von funktionalen Abhängigkeiten; Äquivalenz und Query Containment bzgl. einer FD-Menge F; die FD-Regel; Nachweis, dass das Anwenden der FD-Regel Äquivalenz bzgl. einer FD-Menge F erhält (Proposition 5.6)

    Material: Folien 186-192, Übungsblatt 10
    Weitere Lektüre: Kapitel 8.4 von [AHV]

  24. Do, 19.01.2017:

    Weiter mit Kapitel 5: Funktionale Abhängigkeiten - heute: Verfolgungssequenzen und deren Eigenschaften; ein Polynomialzeit-Algorithmus zur Berechnung von chase(T,t,F); Algorithmen für Query Containment und Äquivalenz von konjunktiven Anfragen relativ zu einer FD-Menge, Minimierung von konjunktiven Anfragen relativ zu einer FD-Menge; Implikation von funktionalen Abhängigkeiten

    Material: Folien 193-201
    Weitere Lektüre: Kapitel 8.4 und 8.2 von [AHV]

  25. Mi, 25.01.2017:

    Weiter mit Kapitel 5: Funktionale Abhängigkeiten - heute: ein Polynomialzeit-Algorithmus zum Entscheiden, ob eine FD f aus einer FD-Menge F folgt (Satz 5.17); der Armstrong-Kalkül

    Material: Folien 201-206; Übungsblatt 11
    Weitere Lektüre: Kapitel 8.2 von [AHV]

  26. Do, 26.01.2017:

    Abschluss von Kapitel 5: Funktionale Abhängigkeiten - heute: Nachweis der Vollständigkeit des Armstrong-Kalküls
    Start mit Kapitel 6: Relationale Algebra - heute: Syntax und Semantik der relationalen Algebra; Beispiele für Anfragen der relationalen Algebra; Vergleich der Ausdrucksstärke von SPC-Algebra, SPCU-Algebra und relationaler Algebra; (Nicht-)Redundanz einzelner Operatoren der relationalen Algebra; Theta-Joins und Semijoins

    Material: Folien 206-213
    Weitere Lektüre: Kapitel 5.1 und 6.1 von [AHV]

  27. Mi, 01.02.2017:

    Abschluss von Kapitel 6: Relationale Algebra - heute: Anfrageauswertung und heuristische Optimierung; Join-Reihenfolge, SIP-Graph und SIP-Strategien

    Material: Folien 214-239, Übungsblatt 12
    Weitere Lektüre: Kapitel 6.1 von [AHV]

  28. Do, 02.02.2017:

    Start mit Kapitel 7: Relationenkalkül - heute: Relationenkalkül mit natürlicher Semantik, Relationenkalkül mit Active Domain Semantik und bereichsunabhängigen Relationenkalkül eingeführt und an Beispielen illustriert; Erster Teil des Beweises, dass die relationale Algebra, der Relationenkalkül mit Active Domain Semantik und der bereichsunabhängige Relationenkalkül dieselbe Ausdrucksstärke haben

    Material: Folien 240-253
    Weitere Lektüre: Kapitel 5.3 von [AHV];

  29. Mi, 08.02.2017:

    Weiter mit Kapitel 7: Relationenkalkül - heute: Abschluss des Beweises, dass die relationale Algebra, der Relationenkalkül mit Active Domain Semantik und der bereichsunabhängige Relationenkalkül dieselbe Ausdrucksstärke haben; den Satz von Trakhtenbrot zitiert und benutzt, um die Beweisidee dafür anzugeben, dass es keinen Algorithmus gibt, der bei Eingabe einer Anfrage des Relationenkalküls entscheidet, ob die Anfrage bereichsunabhängig ist

    Material: Folien 253-256
    Weitere Lektüre: Kapitel 5.3 von [AHV]; zum Satz von Trakhtenbrot siehe Kapitel 9.1 von [L]

  30. Do, 09.02.2017:

    Weiter mit Kapitel 7: Relationenkalkül - heute: detaillierter Beweis (unter Verwendung des Satzes von Trakhtenbrot) dafür, dass es keinen Algorithmus gibt, der bei Eingabe einer Anfrage des Relationenkalküls entscheidet, ob die Anfrage bereichsunabhängig ist; den sicheren Relationenkalkül CALCsr eingeführt und an Beispielen illustriert

    Material: Folien 256-263, Übungsblatt 13
    Weitere Lektüre: Kapitel 5.4 von [AHV]

  31. Mi, 15.02.2017:

    Weiter mit Kapitel 7: Relationenkalkül - heute: nachgewiesen, dass der sichere Relationenkalkül CALCsr bereichsunabhängig ist und genau dieselbe Ausdrucksstärke wie die relationale Algebra hat;

    Material: Folien 264-265
    Weitere Lektüre: Kapitel 5.4 und 6.3 von [AHV]

  32. Do, 16.02.2017:

    Abschluss von Kapitel 7: Relationenkalkül - heute: die Unentscheidbarkeit der statischen Analyse für relational vollständige Anfragesprachen nachgewiesen; Beweis des Satzes von Chandra und Merlin, der besagt, dass das Auswertungsproblem für Boolesche Anfragen des Relationenkalküls PSPACE-vollständig ist (bzgl. der kombinierten Komplexität) die Komplexitätsklasse AC° und die Datenkomplexität des Auswertungsproblems des Relationenkalküls betrachtet; Beweisidee für den Satz von Immerman, der besagt, dass die Datenkomplexität von Booleschen Anfragen des Relationenkalküls in AC° liegt.
    Kapitel 8: Zusammenfassung und Ausblick, Abschluss der Veranstaltung, Hinweise zur Vorbereitung auf eine mündliche Modulabschlussprüfung

    Material: Folien 266-273 und 278-284
    Weitere Lektüre: Kapitel 5.4 und 6.3 von [AHV]


Last modified: 16.02.2017
Nicole Schweikardt