Database Research Group

WSI – Database Systems Research Group

SQL is a Programming Language



SQL ist die Anfragesprache für das relationale Datenmodell, mit der sich Daten aus verschiedenen Tabellen zusammenführen, filtern, gruppieren und filter lassen. Aber SQL ist deutlich mehr als das. Die Geschichte von SQL reicht bis in die 1970er Jahre zurück und seitdem hat sich die Sprache stetig weiter entwickelt, transformiert und erweitert. Heutiges, modernes SQL ist deklarativ, ausdrucksstark, oft sehr kompakt und auch elegant. Seit der Einführung von Rekursion in SQL ist die Sprache zudem berechnungsvollständig: es gibt kein Problem, das man mit SQL nicht knacken kann.

In diesem (Pro-)Seminar bearbeiten die Teilnehmer/Innen jeweils ein in sich geschlossenes Programmierproblem und konstruieren eine Lösung ausschließlich in SQL. (Wir raten zu PostgreSQL, aber das können wir individuell vereinbaren.) Wir wählen dazu Probleme aus, die zu einem interessanten Algorithmus führen, Puzzles verschiedener Art lösen, Simulationen durchführen, ansprechend visualisierbar sind, etc. Spaß und Aha-Effekte stehen im Vordergrund. Auf jeden Fall werden die Probleme nicht "typisch relational" sein und zu SELECT * FROM table führen: SQL hat viel mehr auf dem Kasten und in diesem Seminar werdet ihr dazu zahlreiche Beweise liefern.

Jede/r Teilnehmer/in wird im 30-minütigen Seminarvortrag das bearbeitete Problem vorstellen und eine SQL-basierte Lösung präsentieren. Kurz-Demos während des Vortrags bieten sich natürlich ideal an. Falls es beim Lösen/Implementieren des Problems "haken" sollte, ist das kein Show Stopper: wir geben dazu gerne Tipps — niemand muss deshalb dieses Seminar nicht bestehen. Euer Folienmaterial und die Ausarbeitung zum Problem und seiner Lösung erstellt ihr in Englisch.

Vorkenntnisse in SQL — etwa aus den Vorlesungen DB1, DB2 oder Avdanced SQL — sind natürlich hilfreich. Solltet ihr anderweitig Erfahrungen mit SQL gesammelt haben, ist das ebenfalls OK.

📅 Vorbesprechung

Eine Vorbesprechung zu diesem Seminar zu

  • Problemstellungen
  • Terminen im Semester (nach Absprache mit euch)

führen wir am Freitag, den 20. Oktober, 11:30 Uhr im Raum B305.1 durch.

Bei Fragen zu diesem Seminar könnt ihr euch gerne an Tobias Müller wenden.


Additional material (code, data)