E-Learning für Datenbanken
Die Arbeitsgruppe entwickelt Werkzeuge für die Datenbank-Lehre, insbesondere SQL. Wir haben aus einer großen Anzahl von Klausuren die vorkommenden Fehler in SQL analysiert, und Verfahren zur Erkennung einiger semantischer Fehler entwickelt. Wir arbeiten außerdem an der automatischen Korrektur von SQL-Anfragen. Da die Äquivalenz von SQL-Anfragen nicht entscheidbar ist, ist dies eine nicht vollständig lösbare Aufgabe. Man kann die von einem Studenten entwickelte Anfrage zwar auf einem Beispiel-Zustand auswerten, aber wenn das Ergebnis mit dem der Musterlösung übereinstimmt, garantiert dies noch nicht die Korrektheit für beliebige Zustände. Ein rein textueller Vergleich mit der Musterlösung scheidet auch aus, da eine Anfrage auf viele unterschiedliche Weisen formuliert werden kann. Im Rahmen einer Abschlussarbeit wurden Verfahren zur Normalisierung entwickelt, mit denen man eine Übereinstimmung auch bei leichten Variationen feststellen kann. Schließlich arbeiten wir an Lernspielen für SQL, um die Motivation der Studierenden zu erhöhen. Auch hierzu gibt es bereits mehrere Abschlussarbeiten. In allen diesen Richtungen soll aber weiter geforscht werden. Wir haben uns außerdem mit der Unterstützung der Lehre im Datenbank-Entwurf beschäftigt.
Publikationen
- S Brass, C. Goldberg: Semantic Errors in SQL Queries: A Quite Complete List.
In 4th International Conference on Quality Software
(QSIC 2004),
250-257,
IEEE Computer Society,
2004.
[PDF] - S. Brass, C. Goldberg:
Proving the Safety of SQL Queries.
In Fifth International Conference on Quality Software
(QSIC 2005),
197-204,
IEEE Computer Society,
2005.
[PDF] - S. Brass, C. Goldberg:
Semantic errors in SQL queries: A quite complete list.
Journal of Systems and Software 79(5): 630-644
(2006).
[PDF] - C. Goldberg:
Do You Know SQL? - About Semantic Errors in SQL Queries
TLAD 2009 (BNCOD 2009), Birmingham, United Kingdom.
[PDF]
Abschluss-Arbeiten
- Übersetzung von Relationenalgebra nach SQL - Entwurf und Implementierung eines E-Learning Werkzeugs für Datenbanken (Yu Ai, 2014)
- Vergleich von SQL-Anfragen: Theorie und Implementierung in Java (Robert Hartmann, 2013)
- Durchführbarkeitsstudie eines Tools zur Erkennung von semantischen Fehlern (Thomas Sperling, 2013)
- Visualisierung von Datenbank-Schemata (Matthias Schäfer)
- Unterstützung elementarer Transaktionen in CASE-Werkzeugen für den Datenbankentwurf (Sascha Rüger, 2008)
- SQL-Analyer: Analyse, Optimierung und statistische Auswertung von SQL-Abfragen (Stephan Dittbrenner, 2007)
- Analyse von Strukturen und Mustern in SQL-Anfragen sowie Entwurf und Implementierung einer Musterbibliothek (Georg Zimmermann, 2007)
- Lernen von typischen Mustern aus SQL-Anfragen (Falko Gleichmann, 2007)
- Vollständiger logischer Datenbank-Entwurf: Analyse existierender CASE Tools und eigene Implementierung (Matthias Möser, 2007)
- Klassifizierung logischer Fehler in Entity-Relationship-Diagrammen (Martin Herzberg, 2007)
- Konzeptioneller Datenbank-Entwurf: Verlustfreie Transformation zwischen verschiedenen graphischen Notationen (Tobias Reichelt, 2007)
- Layout Generierung für ER-Diagramme mit Methoden des Graph Drawing (Lutz Böckelmann, 2007)
- Transformation von Datenbank-Schemata aus dem ER-Modell (Christian Seemann, 2006)
- Konsistenzprüfung von SQL-Anfragen (Tobias Habermann, 2006)
- Datenbank-Entwurfswerkzeuge: Die Elemente von ER-Diagrammen (Dierk Michel, 2004)