Relationale Datenbanken und XML

23.10.2002
Von 
Ludger Schmitz war freiberuflicher IT-Journalist in Kelheim. Er ist spezialisiert auf Open Source und neue Open-Initiativen.

In Sachen Abfragesprachen stimmen die drei Produkte überein. Die klassische Abfragesprache für relationale Datenbanken, SQL, eignet sich nicht für hierarchische XML-Dokumente - jedenfalls solange diese nicht zuvor auf das zweidimensionale System heruntergebrochen sind. Ein Lösungsansatz ist die Erweiterung „SQLX“.

Query-Sprachen weiterentwickeln

Der ursprüngliche Query-Standard XQL ist inzwischen überholt. Sein von der Standardisierungsorganisation W3C empfohlener Nachfolger, „Xpath“, wird von Oracle, Microsoft und IBM unterstützt. Xpath macht es nicht nur möglich, den Inhalt eines Dokuments zu durchforsten, sondern funktioniert auch in der tieferen logischen Struktur (Tree) eines Dokuments und kann so auch mit dessen Teilen oder Elementen operieren.

Die viel weitergehende Abfragesprache „Xquery“ verwenden nur native XML-Datenbanken wie Tamino. Sie umfassst auch die wichtigsten Funktionen anderer Query-Systeme wie XML-QL, XQL, OQL und sogar SQL. Xquery war ursprünglich eine von der Software AG entwickelte proprietäre Abfragesprache. Inzwischen liegt sie mit Unterstützung von IBM dem W3C als Vorschlag zur Standardisierung vor. IBM hat angekündigt, in (unbestimmter) Zukunft Xquery zu unterstützen, während Oracle bisher dieser Technik als nicht hinreichend performant ablehnend gegenübersteht.

Oracle will sich künftig vor allem darauf verlegen, XML noch tiefer als bisher in den Kernel seiner Datenbank zu integrieren. Mit dem Release 2 von Oracle 9i sind die ersten Schritte dazu getan. So ist es möglich, Xpath-Queries mit SQL-Ausdrücken zu mischen. Nach Ansicht von Oracle ist ein dualer Datenbank-Kernel die beste Methode, um der eigenen Maxime „Eine Datenbank statt Datenredundanzen“ zu entsprechen.

Eine Datenbank oder viele?