Database Research Group

WSI – Database Systems Research Group

Datenbanksysteme II


News
  • Jul 25, 2016 — Nachklausur: Es gibt keine Nachklausur. Die Nachprüfungen finden in Form eines mündlichen Kolloqiums am 28. September 2016 statt. Bitte vereinbart dafür einen Termin bei Dennis Butterstein (dennis.butterstein@uni-tuebingen.de). Weitere Informationen findet ihr auch hier. — Dennis Butterstein

  • Jun 23, 2016 — Die Übung am Donnerstag, den 30. Juni 2016 findet nicht statt. Der nächste Übungstermin ist am Donnerstag, den 07. Juli 2016. — Dennis Butterstein

  • Jun 21, 2016 — Die Vorlesungstermine Datenbanksysteme II am Montag, den 27. Juni 2016, und Dienstag, den 28. Juni 2016, fallen aus. In der betroffenen Woche wird kein Übungsblatt ausgegeben.

    Normal weiter geht's dann ab Montag, den 4. Juli 2016, um 10:15 Uhr im großen Hörsaal Sand 6/7. — Torsten Grust

  • Apr 1, 2016 — Die Vorlesung Datenbanksysteme II startet nicht in der ersten Vorlesungswoche, sondern erst am Montag, den 18. April 2016 um 10 Uhr ct. im großen Hörsaal Sand 6/7.

    Bis dahin, wir freuen uns auf das kommende Semester mit euch! — Benjamin Dietrich


Aufbauend auf die Vorlesung Datenbanksysteme I, schaltet diese Vorlesung “auf Röntgenblick” und durchleuchtet die Internas relationaler Datenbanksysteme (RDBMS). Wir versuchen dabei Antworten auf Fragen zu finden, wie etwa:

  • Wie kann der Datentransport zwischen Sekundär– und Hauptspeicher organisiert werden, ohne dass das DBMS laufend auf langsame Festplattenzugriffe warten muss?
  • Wie strukturiert, sortiert und manipuliert man Daten von 20 GB Größe, wenn der verfügbare Hauptspeicher nur einen Bruchteil davon fassen kann?
  • Wie orientiert man sich in Datenmengen dieser Größe? Wie übersetzt man Anfragen (SQL) in effiziente "Programme", die Daten dieser Größe durchforsten/filtern/transformieren können?

Dabei werden wir die Architektur eines DBMS als Leitfaden nehmen und uns sukzessive von der physischen Ebene (File-Organisation etc.), über Index-Verwaltung zur Anfrageauswertung durcharbeiten. Dieser Weg ist mit interessanten Algorithmen und Datenstrukturen geradezu gepflastert. Themengebiete: Sekundärspreicherzugriff, Record– und Seiten–Layout, Indexstrukturen (B–Bäume, Hashes), Sortieren auf Sekundärspeichern, Anfrageauswertung, (geschätzte) Anfragekosten, Plangenerierung und -optimierung, Transaktionen (ACID), Logging.

Wann immer sich die Möglichkeit ergibt, richten wir unseren Röntgenstrahl auf konkrete Systeme wie insbesondere PostgreSQL oder auch IBM's DB2 V9, um die Internas von DBMS auch praktisch erleben/verstehen zu können.

Forum

Im Rahmen von Vorlesung und Übung werden wir zur Organisation, für Fragen, Hinweise und Diskussionen ein Forum verwenden. Die Anmeldung und der regelmäßige Besuch des Forums ist nicht optional, sondern für die Teilnahme an der Veranstaltung erforderlich.

Übung

Zur Veröffentlichung der wöchentlichen Übungsblätter, zur Abgabe Ihrer Lösungen sowie zur Korrekturveröffentlichung, wird das Versionskontrollsystem git eingesetzt. Genaue Hinweise zu dessen Verwendung im Rahmen der Übung gibt die folgende Anleitung zu git in der Übung. Sollten sich darüber hinaus noch Fragen ergeben bitten wir hierzu — wie auch sonst — das Forum zu verwenden.

Die Übungsblätter werden regelmäßig Mittwochs herausgegeben und müssen bis spätestens Mittwoch in der Woche darauf, auf dem in der Anleitung beschriebenen Weg, abgegeben werden.

Klausur und Benotung

Die 90-minütige Klausur zu dieser Vorlesung wird am Montag, den 18. Juli 2016, von 10:00–12:00 Uhr im Hörsaal N6 (HSZ Morgenstelle) stattfinden.

Voraussetzung zur Klausurzulassung ist das Erlangen von mindestens 2/3 der Punkte in der Übung!

Die Modulnote ergibt sich ausschließlich aus der Klausurnote. Durch die Übungen können jedoch Bonuspunkte für die Klausur erlangt werden, wenn mehr als 2/3 der Übungspunkte erzielt wurden. Diese entsprechen — je nach Übungsleistung — bis zu 25% der Klausurpunkte.

Eine Wiederholungsprüfung wird für diejenigen angeboten, die an der Hauptklausur teilgenommen und diese nicht bestanden haben oder dieser entschuldigt fern geblieben sind.

Literatur

  • Ramakrishnan, Gehrke: Database Management Systems

    (3rd International Edition)

    McGraw-Hill, 2003

    ISBN 0-07-246563-8

    Dieses Buch deckt die meisten Inhalte dieser Vorlesung sehr gut ab (teilweise orientiert sich die Vorlesung direkt an ausgewählten Kapiteln).

  • Kemper, Eickler: Datenbanksysteme

    (6. Auflage)

    Oldenbourg Verlag, 2006

    ISBN 3-486-57690-9

    Deutsches Standardlehrbuch, das auch Inhalte der Vorlesung Datenbanksysteme I bespricht — die Inhalte dieser Vorlesung gehen teilweise deutlich über das Material des Buches hinaus. Eine hervorragende Quelle für weiterführende Referenzen.

  • Winand, Markus: SQL Performance Explained

    Markus Winand, 2012

    ISBN 978-3950307818

    Kondensiertes Wissen eines Praktikers zum SQL-Tuning mit Hilfe von Indizes.

    Website zum Buch

Software

In Vorlesung und Übung werden die Datenbanksysteme PostgreSQL und IBM DB2 betrachtet. Beide Systeme sind kostenfrei beziehbar.

  • PostgreSQL ist für die meisten Linux-Distributionen bereits als Paket verfügbar. Der Quellcode, weitere Binärdistributionen und Installer für Windows und Mac OS X können auf der PostgreSQL-Website bezogen werden.

  • Eine kostenfreie Version von IBM DB2 ist als IBM DB2 Express-C verfügbar.

Semesterwochenstunden / Leistungspunkte / Hörerkreis

  • 4 SWS Vorlesung + 2 SWS Übung zur Vorlesung
  • 8 LP
  • Für Studierende in Informatik Bachelor- und Master-Studiengängen
  • Link zu Campus

Voraussetzungen

Modul Datenbanksysteme (Datenbanksysteme I) oder vergleichbare Vorkenntnisse. (Der Veranstaltung kann grundsätzlich auch ohne den vorherigen Besuch von DB I gut gefolgt werden, allerdings erfordert dies unter Umständen etwas Mehraufwand)


Slides
NrChapterDownload
1Introductionpdf
2Storage

(letztes Update: 25. April, 12:07 Uhr)

pdf
3Indexingpdf
4Tree-Structured Indexingpdf
5Multi-Dimensional Indexingpdf
6Hash-Based Indexing

(letztes Update: 6. Juni, 15:10 Uhr— Linear Hashing: Operation hdelete)

pdf
7External Sorting

(letztes Update: 5. Juni, 16:38 Uhr)

Interaktive Berechnung der I/O-Kosten und Laufzeit für External Sorting

pdf
8Evaluation of Relational Operatorspdf
9Cardinality Estimation

In diesem Semester in der Vorlesung nur kurz besprochen. Hier finden sich deutlich mehr Details. (Nicht relevant für Prüfungen.)

pdf
10Query Optimizationpdf
11Transaction Management

(Part 1 + 2, letztes Update: 10. Juli, 19:00 Uhr)

pdf
Additional material (code, data)
NrFileDownload
1Anleitung zur Anmeldung und Nutzung von GitHub im Rahmen der Übungpdf