Advanced SQL

Lecture
Readers
Torsten GrustChristian Duta

Vorlesung: Do, 10:15-11:45, Sand 14, Raum C215

Übung: Di, 16:15-17:45, Sand 14, Raum C215

Klausur: Do, 23. Juli 2020, 10:00-12:00, Hörsaal tba

⚠️ Die COVID-19 Pandemie 🦠 zwingt uns dazu, die Organisation dieser Vorlesung im SS 2020 neu aufzustellen.

  • Vorlesungsmaterial wird in Form von Videos aufbereitet, die dann über YouTube zum Streaming bereitgestellt werden. Diese Videos werden nicht in 90 Minuten-Einheiten produziert, sondern haben ihren Fokus jeweils kompakt auf einem einzigen Thema (ca. 15 Minuten pro Video).

  • YouTube-Playlist

  • Fragen zum Vorlesungsablauf, zu den Inhalten und auch zu den Übungen: immer ‘rein damit ins Forum. Wir haben Trigger geschaltet, die uns bei neuen Postings eurerseits benachrichtigen und uns die Möglichkeit geben, fix zu antworten. Ihr kennt uns und wisst, dass wir das Forum aktiv betreuen.

  • Material zu den Vorlesungen (Slides, Code-Fragmente) werden wir über Github verteilen. Wer sich einmal den Zugang zum Repository zur Vorlesung verschafft hat, beschafft sich das neueste Material einfach mit einem git pull.

  • Übungsmaterial (die wöchentlichen Übungsblätter und zugehörige Files) wird ebenfalls wieder über Github verteilt. Eure Lösungen werden ebenso via git an uns übermittelt. Übungsabgaben werden wieder in (virtuellen) Zweiergruppen stattfinden. Details dazu, wie ihr euch zu diesem Übungsbetrieb anmelden könnt, finden sich im Forum zu dieser Vorlesung:

  • Forum Advanced SQL

    ⚠️ Die Anmeldung in diesen Foren ist für die Teilnahme an den Vorlesungen also essentiell und nicht optional. You know the drill.

Bleibt gesund und Ohren steif halten!


Relational database systems provide efficient storage for large volumes of data. This course highlights that these systems also provide a versatile and expressive data processing language: SQL. There’s much more to SQL than the plain SELECT...FROM...WHERE clause and we will see that a surprisingly large number of algorithmic problems can be tackled using SQL. Moving computation close to the data is key to unlock the true potential of database systems.

Selected course topics include

  • common table expressions (WITH),
  • non-standard data types (arrays, geometric data, JSON, XML),
  • table functions,
  • window functions,
  • recursive computation,
  • user-defined SQL procedures (PL/SQL),
  • index design for complex SQL queries,
  • off-beat SQL applications, useful SQL idioms, and fun SQL puzzles.

The course will only provide a brief introduction to the fundamental aspects of relational database systems. We expect you to have basic SQL skills (through prior attendance of Datenbanksysteme I or personal projects, for example) or be willing to acquire such skills.

Join us for a boatload of SQL fun! We will provide more course details once the semester approaches.