Datenbanksysteme 2015/16

 

Aktuelles

  • 15.09.2016: Die Einsichtnahme zur Nachklausur findet am 22.09. von 14:30 Uhr - 16:00 Uhr in Raum 36-336 statt.
  • 15.09.2016: Die Ergebnisse der Nachklausur finden Sie hier (VPN oder Passwort).
  • 30.05.2016: Die Nachklausur findet am Mittwoch, den 14.09.2016, ab 15:30 in der Mensa statt.
  • 22.03.2016: Die Klausurergebnisse finden Sie hier (VPN oder Passwort).
  • 14.03.2016: Die Einsichtnahme zur Klausur findet am 24.03. von 10:00 Uhr - 11:00 Uhr in Raum 36-336 statt (.ics).
  • 28.02.2016: Korrektur: Folie 10 in Vorlesung 16: Cyan-farbenes MBR angepasst, damit MINMAXDIST stimmt.
  • 11.02.2016: Die Liste aller zugelassener Teilnehmer der aktuellen Übung finden Sie hier. Ob Sie die Übung im letzten Jahr bereits erhalten haben, können Sie hier nochmal nachschauen.
  • 08.02.2016: Die letzten beiden Vorlesungen (am 09.02. und 11.02.) fallen aus.
  • 05.02.2016: (Hoffentlich fast alle) Typos aus Folien entfernt
  • 04.02.2016: Blatt 13 aktualisiert: Gefragte Zeit in Aufgabe 3b genauer spezifiziert.
  • 27.01.2016: Am Freitag, 11.03.2016, findet um 13:00 Uhr in 42-110 eine Fragestunde statt (.ics). Dort werden vorbereitete Fragen(!) zu Vorlesung und Übung besprochen. Schicken Sie offene Frage möglichst vorher per Email an mhoffmann@..., um bessere Antworten zu erhalten.
  • 08.01.2016: Die Syntax von User-Defined Functions wurde in ein Tutorial ausgelagert, welches Sie hier finden.
  • 06.01.2016: In KW2 sind der Dienstagstermin der Vorlesung und der Mittwochstermin der Übung getauscht. Das heißt, die Übung findet am 12.01. um 11:45 Uhr in 42-110 statt, die Vorlesung am 13.01. um 15:30 Uhr in 42-110 und am 14.01. wie üblich.
  • 22.12.2015: Blatt 8 aktualisiert: Aufgabe 2, Scores geändert (grün markiert).
  • 16.12.2015: Die Vorlesung am 22.12.2015 fällt aus.
  • 16.11.2015: Blatt 3 aktualisiert: Rahmenbedingungen für Joins/Indexe ergänzt.

 

Vorlesung

Beginnend ab 27.10.2015 findet die Vorlesung an folgenden Tagen statt:

  • Dienstags, 11:45 – 13:15, 42-110
  • Donnerstags, 15:30 – 17:00, 52-207

 

Vorlesungsfolien

      • Vorlesung 1: Motivation, Wiederholung, Regularien pdf
      • Vorlesung 2: Open-Next-Close Prinzip, Festplattenaufbau, DB Pufferverwaltung pdf
      • Vorlesung 3: Dateiorganisation, Datenbank-Indexe, Index-Tuning, Schema Denormalisierung pdf
      • Vorlesung 4: Schema Denormalisierung, Implementierung von Joinoperatoren, Externes Sortieren pdf (pdf mit Animationen)
      • Vorlesung 5: Hash-Join, Selektivitätsschätzung, Histogramme pdf
      • Vorlesung 6: V-Optimale Histogramme, Probabilistic Counting, regelbasierte Anfrageoptimierung pdf
      • Vorlesung 7: Join-Ordering: Grundlagen, Kostenmodelle pdf
      • Vorlesung 8: Join-Ordering: Algorithmen pdf
      • Vorlesung 9: Entschachtelung (Unnesting) von Anfragen, Mat. Sichten, Multi-Query Opt. pdf
      • Vorlesung 10: Mehrdimensionale Indexstrukturen, Locality Sensitive Hashing (LSH) pdf
      • Vorlesung 11: Baumartige Mehrdimensionale Indexstrukturen: Quad-Trees, KD-Tree pdf
      • Vorlesung 12: R Baum, Indexierung in metrischen Räumen pdf
      • Vorlesung 13: Indexstrukturen: Hashing, Erweiterbares Hashing, Lineares Hashing pdf
      • Vorlesung 14: Invertierter Index, Top-k Algorithmen pdf
      • Vorlesung 15: Top-k Algorithmen, Skyline Anfragen pdf
      • Vorlesung 16: NN-Suche im R-Baum, SQL Erweiterungen: Window Queries  pdf
      • Vorlesung 17: Rekursion in SQL. Embedded SQL, User Defined Functions (UDFs) pdf
                                  (Die Syntax von User-Defined Functions wurde in ein Tutorial ausgelagert, welches Sie hier finden.)
      • Vorlesung 18: Trigger (siehe auch Teil über Trigger im Tutorial), Einführung Transaktionsverwaltung pdf
      • Vorlesung 19: DB Recovery, Do-Redo-Undo Prinzip, WAL, Commit-Regel, Redo pdf
      • Vorlesung 20: Undo, Idempotenz, Sicherungspunkte pdf
      • Vorlesung 21: Mehrbenutzersynchronisation, Scheduler, Historien, Klassen (FSR, VSR, CSR,..) pdf
      • Vorlesung 22: Mehrbenutzersynchronisation: Recoverable, ACA, Strikt, Scheduler Entwurf: 2PL, Timestamp Ordering, Optimistic CC pdf
      • Vorlesung 23: Big Data Management: MapReduce pdf
      • Vorlesung 24: Gastvorlesung über Joins in MapReduce (Prof. Mirek Riedewald) pdf Folien über PhD in USA pdf
      • Vorlesung 25: NoSQL: CAP Theorem, Eventual Consistency, Consistent Hashing pdf

 Hinweise

Die in der Vorlesung vorgestellten SQL-Dumps können nicht mit der "Wiederherstellen"-Funktion in pgAdmin eingelesen werden. Verwenden Sie entweder die "PSQL Console" (eine Übersicht über die Befehle erhalten Sie darin mit \?) oder rufen Sie über die Kommandozeile das Programm "psql" auf (--help zeigt auch hier alle verfügbaren Parameter an). Dateien, die mit ".gz" enden sind meist mit gzip komprimiert und müssen erst dekomprimiert werden.

 

Klausur

Die Klausur findet am 18.03.2016 ab 8:30 Uhr in der Mensa statt (.ics). Die Bearbeitungszeit beträgt 120 Minuten.
Erlaubtes Werkzeug: Dokumentenechte und nicht-rote Stifte, Lineal oder Geodreieck, nicht-programmierbarer Taschenrechner.

Überprüfen Sie frühzeitig im QIS, ob Sie zur Klausur angemeldet sind, und auf dieser Liste [wird nach der letzten Übung veröffentlicht] ob Sie zur Klausur zugelassen sind.
Vergessen Sie am Tag der Klausur nicht, ihren Studierendenausweis mitzubringen. Die Verwendung von Smartwatches, Handys o.ä. wird als Betrugsversuch gewertet; wenn Sie eine Uhr benötigen, bringen Sie ein nicht-smartes Modell mit.

Die Nachklausur findet am 14.09.2016 ab 15:30 Uhr in der Mensa statt. Regeln wie beim ersten Termin.

 

Übung

Beginnend ab 04.11.2015 findet die Übung an folgendem Tag statt:

      • Mittwochs, 15:30 – 17:00, 42-110

Anmeldung

Bitte melden Sie sich bis zum 03.11.2015, 12:00 Uhr im KIS Office für die Übung an und ignorieren Sie, dass dort "Losverfahren" steht. Alternativ können Sie sich auch per E-Mail anmelden (mhoffmann@cs....) oder sich in der ersten Übung in eine Liste eintragen.

Organisation

Es gibt 13 Übungsblätter, die in der wöchentlich stattfindenden Übung besprochen werden. Auf diesen Übungsblättern gibt es 40 Aufgaben, die Sie in Vorbereitung auf die Übung lösen müssen. Auf diese 40 Aufgaben gibt es jeweils einen Punkt. Sie müssen insgesamt 20 Punkte erreichen, um für die Klausur zugelassen zu werden. Die Punktevergabe funktioniert wie folgt:

      • Zu Beginn der Übung markieren Sie auf einer Teilnehmerliste, welche der verbindlichen Aufgaben Sie gelöst haben und in der Übungsstunde präsentieren können.
      • In der Übungsstunde wählt der Übungsleiter unter allen markierten Lösungen einen oder mehrere Studierende aus, die entsprechende Aufgabe zu präsentieren. Die Auswahl erfolgt auf Gutdünken des Übungsgruppenleiters.
      • Falls eine Aufgabe durch einen Studierenden als gelöst markiert wird, dieser bei der Aufforderung zur Präsentation passt oder die Präsentation der Aufgabe zeigt, dass sich der Studierende nicht ausreichend mit dem Thema befasst hat, erhält der Studierende 3 Minuspunkte.
      • Ist die Lösung korrekt oder hat nur leichte Mängel, ist aber auf dem richtigen Weg zur korrekten Lösung, gibt es den vollen Punkt.
      • Die Vergabe der Punkte erfolgt durch subjektive Einschätzung des Übungsleiters und muss nicht begründet werden.

Wir sind davon überzeugt, dass das Arbeiten in Gruppen sehr sinnvoll sein kann. Bitte fühlen Sie sich frei, sich bei der Bearbeitung der Aufgaben zu Gruppen zusammenzuschließen. Trotzdem ist die “Abgabe” der Lösungen nicht als Gruppe möglich, sondern pro Studierendem. Jeder Teilnehmer einer Gruppe muss in der Lage sein, die als gelöst markierten Aufgaben zu präsentieren.

Neben den 40 verbindlichen Aufgaben gibt es weitere Aufgaben, deren Bearbeitung freiwillig ist. Wir wünschen uns natürlich trotzdem rege Beteiligung bei der Präsentation der Lösungen. Für Aufgaben bei denen nur ein oder zwei Studierende eine Lösung markiert haben, gibt es zwei zusätzliche Bonuspunkte.

 

Literatur

      • Elmasri, R., Navathe, S. B.: Grundlagen von Datenbanksystemen, Ausgabe Grundstudium, 3. Auflage, Pearson Studium, 2005 Bibliotheksbestand
      • Härder, T., Rahm, E.: Datenbanksysteme – Konzepte und Techniken der Implementierung, Springer-Verlag, Berlin, 2001 Bibliotheksbestand
      • Kemper, A., Eickler, A.: Datenbanksysteme – Eine Einführung, 7. Auflage, Oldenbourg-Verlag, 2009 Bibliotheksbestand
      • Kemper, A., Wimmer, M.: Übungsbuch Datenbanksysteme, 2. Auflage, Oldenbourg-Verlag, 2009 Bibliotheksbestand
      • Weikum, G., Vossen, G.: Transactional Information Systems. Morgan Kaufmann Publishers, 2002 Bibliotheksbestand
      • Ramakrishnan, R., Gehrke, J.: Database Management Systems, 3. Auflage, McGraw-Hill, 2008 Bibliotheksbestand

Ansprechpartner

Prof. Dr.-Ing. Sebastian Michel

M.Sc. Manuel Hoffmann

 

(c) AG DBIS, TU Kaiserslautern, 2015