Links
Kontakt
Prof. Dr. Stefan Brass
Telefon: 0345/55-24740
Telefon: 0345/55-24750
brass@informatik.uni-halle.de
Raum 313
Von-Seckendorff-Platz 1
06120 Halle (Saale)
Semantische Fehler in SQL
Heutige Datenbanksysteme geben keine Warnungen aus, wenn die Anfrage ausführbar, aber offensichtlich schlecht oder nicht beabsichtigt ist. Wenn die Bedingung z.B. inkonsistent ist, also immer falsch, völlig unabhängig vom Datenbank-Zustand, erhält man einfach eine leere Antwort. Häufig wird sich der Benutzer wundern, und dem Problem nachgehen, aber nicht immer: Wenn er z.B. fehlerhafte Daten in der Datenbank gesucht hat, wird er sich freuen, dass die Antwort leer war. Dann wäre ein Hinweis wichtig, dass die logische Bedingung in der Anfrage sicherlich nicht der eigentlichen Absicht des Benutzers entspricht. Im allgemeinen ist dieses Problem unentscheidbar, aber für viele Anfragen können wir die Konsistenz oder Inkonsistenz beweisen. Wir haben eine relativ große Zahl weiterer Probleme in SQL-Anfragen charakterisiert, die ohne Wissen über die Anwendung automatisch erkannt werden können. Dazu gehören auch verschiedene Optimierungsmöglichkeiten des SQL-Quellcodes. Während das Projekt ursprünglich zur Untersützung von E-Learning für SQL gedacht war, könnten diese Tests auch für professionelle Software interessant sein. Z.B. sind in SQL Laufzeitfehler möglich, wenn Unteranfragen als Terme verwendet werden. Wir haben untersucht, wann man beweisen kann, dass dieser Fehler nicht auftreten wird (für beliebige Datenbank-Zustände, die die Schüsselbedingungen erfüllen).
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]