Database Languages and their Compilers

Lecture
Readers
Torsten Grust

SELECT * FROM table — Und was dann? Bevor eine SQL-Anfrage dieser Art effizient auf einem relationalen Datenbanksystem ausgeführt werden kann, ist einiges an Übersetzungs- und Optimierungsarbeit zu leisten. Wie genau ein Compiler für SQL gebaut werden kann, ist Inhalt dieser Vorlesung.

Unterwegs berühren wir sowohl den Compilerbau, die deklarativen Programmiersprachen und Datenbanktechnologie. Dieser Mix macht den Reiz dieser Vorlesung aus.

Ausgewählte Themen sind:

  • Lexer und Parser für SQL
  • Semantische Analyse von SQL-Anfragen (Variable Scoping, Type Inference)
  • Interne Repräsentation für SQL (Monoid Comprehension Calculus)
  • Normalisierung von Anfragen
  • Generierung von algebraischen Anfrageplänen

Kenntnis der Konzepte aus der Vorlesung Datenbanksysteme I sind hilfreich (aber nicht wirklich zwingend notwendig). Wir klären hier eine Reihe von Fragen, die in Datenbanksysteme II offen bleiben — beide Vorlesungen ergänzen sich ideal.

Kolloquium

Ein abschliessendes Kollquium zu dieser Vorlesung findet am Montag, den 14. Februar, in Raum B318 (Büro Torsten Grust) statt. Dauer jeweils ca. 20 Minuten. Bitte seid pünktlich, um den folgenden Zeitplan nicht zu gefährden. Besten Dank.

Zeit – Student(in) 09:00 Fikret Demirci 09:30 Angela Kramer 10:00 Michael Rimmele 10:30 Andreas Gengenbach 11:00 Johannes Kern 11:30 Matthias Baumgärtner 13:30 Fotios Hatziioannidis 14:00 Helmut Dobretzberger 14:30 Sebastian Buck 15:00 Qinyuan Li 15:30 Sebastiano Lamattina 16:00 Jakob Breu

Semesterwochenstunden / Leistungspunkte / Hörerkreis

  • 2 SWS Vorlesung
  • 4 LP
  • Studierende im Grund- und Hauptstudium Diplom Informatik, Bioinformatik und Lehramt Informatik
  • Studierende in Informatik Master-Studiengängen

Voraussetzungen

Datenbanksysteme I (INF 3131) oder vergleichbare Vorkenntnisse


Link to trello card: Database Languages and their Compilers

Labels

Lecture,