Veröffentlicht: von

edb , unsere E-Learning-Plattform für Datenbanksysteme, hat eine neue Applikation: Der XQuery-Trainer ist implementiert!

Neben dem Datenaustausch gewinnt im XML-Umfeld immer mehr die Datenhaltung von XML-Dokumenten in Datenbanken an Bedeutung. Doch wie können Abfragen auf XML-Dokumenten effizient durchgeführt werden? XPATH und XSLT bieten hier nur sehr beschränkte Möglichkeiten. Die Abfragesprache XQuery schließt diese Lücke und wird als Nachfolge– bzw. Schwestersprache von SQL  gehandelt. An Stelle einer SELECT-Abfrage wird eine FLOWR-Ausdruck auf ein XML-Dokument angewendet, wobei sich F = For, L = Let , O = Order By , W = WHERE und R = Return sicher nicht zufällig ähnlich einer SELECT-Anweisung liest.

Im Oracle Umfeld steht mit Oracle XMLDB  eine umfangreiche Implementierung des SQL/XML-Standards zur Verfügung, die  mittels der Funktion XQUERY(ausdruck) sogar FLOWR-Ausdrücke gegen Elemente des Typs XMLTYPE  auswerten kann. Grundlage ist der objektrelationale Datentyp XMLType von Oracle, der auch XQuery-Funktionalität unterstützt und daher zum Ausprobieren dieser neuen XML-Sprache einlädt. Diese Funktionalität macht sich der XQuery-Trainer zunutze, um das Einüben von FLOWR-Ausdrücken zu erleichtern. Aus einem Pool von vorformulierten Abfragen wird eine zufällige Frage ausgewählt, die im Laufe des Testes in XQuery beantwortet werden muss.  Das Programm schickt Ihre selbstformulierten FLOWR-Ausdrücke zur Ausführung an eine Oracle-Datenbank und führt sie dort aus. Falls das Ergebnis Ihrer FLOWR-Abfrage mit dem Ergebnis der in der Datenbank gespeicherten Musterlösung übereinstimmt, wird die Frage als richtig bewertet.

Die zugehörigen XML-Dokumente lassen sich genauso anzeigen wie die Musterlösungen. Sie können eine Aufgabe auch abbrechen und sich die Statistik (Aufgaben, die schon gelöst wurden) anzeigen lassen.

Außerdem bietet der XQuery-Trainer noch eine XQuery-Sandbox für das Ausprobieren von freien FLOWR-Ausdrücken.

Die Applikation wurde von Michael Ipsen, Andre Kasper, Jan Philipp und Norbert Schneider entwickelt.