Database Research Group

WSI – Database Systems Research Group

Database Languages and their Compilers



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


Slides
NrChapterDownload
1Introductionpdf
2Query Parsingpdf
3A Query Calculus for SQL

Reading: Towards an Effective Calculus for Object Query Languages (Leonidas Fegaras, SIGMOD 1995)

pdf
4Variable Scoping and Type Inference for SQLpdf
5Query Normalizationpdf
6Query Plan Generationpdf
Additional material (code, data)
NrFileDownload
1zu Introduction

seats.sql

sql
2zu Query Parsing

scanner.tar

tar
3zu Query Parsing

parser.tar

tar
4zu A Query Calculus for SQL

fold.tar

tar
5Monoid comprehension abstract syntax tree

zu Folie 107

txt
6Comprehension unnesting

zu Folie 118

txt