SQL is a Programming Language

⚠️ Entgegen unserer Planung wird das Seminar SQL is a Programming Language im SS 2020 nicht stattfinden. Wir planen des Seminar jetzt für das WS 2020/21—für die Hörer der Vorlesungen DB1, DB2 oder Advanced SQL ist das Seminar inhaltlich eine ideale Ergänzung.

Bleibt gesund und Ohren steif halten!


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 TBA durch.

Bei Fragen zu diesem Seminar könnt ihr euch gerne an TBA wenden.

Themen

Unten findet ihr eine Liste der Aufgabenstellungen, die in diesem Seminar mittels SQL realisiert werden. Die genauen Details hier zu (bspw. in welchem Format stehen Eingabedaten bereit) oder Hinweise zur Realisierung erhaltet ihr von eurem Betreuer.

TBA

Seminartermine

TBA

Die Termine finden auf dem Sand in Raum B305 statt, beginnen jeweils um TBA und sind auf 90 min angesetzt.

Es gilt für alle Teilnehmer, an allen Terminen anwesend zu sein! Weitere interessierte Hörer sind herzlich willkommen.

Hinweise zu den Ausarbeitungen

  • Die Ausarbeitung zu euren Themen erfolgt ausnahmslos in LaTeX. Hierfür soll die zweispaltige Formatvorlage SIGCONF Proceedings der ACM verwendet werden. Ihr könnt die Original-Vorlage herunterladen oder diese reduzierte Version benutzen. Die Ausarbeitung soll insgesamt vier Seiten umfassen.

  • Für Bilder empfehlen wir euch im Weiteren das LaTeX-Paket TikZ zu verwenden.