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.

Sowohl Oracle als auch IBM und Microsoft verwenden diese Technik, wenn auch in unterschiedlicher Ausprägung, denn sie hat Nachteile: Ein Update der Dokumente, beispielsweise von „Straße/Nummer“, „Postleitzahl“ und „Ort“, richtet sich nicht gezielt auf diese Einzelelemente, sondern verlangt den Aufruf des gesamten Dokuments. Das senkt den Datendurchsatz deutlich. Noch mehr Zeit kostet es, wenn es um ein Update komplexerer Dokumente geht. Deren Strukturen bilden relationale Datenbanken über „Joins“ nach, was noch mehr Zeit kostet.

Dem Problem lässt sich dadurch begegnen, dass man das XML-Dokument mehr oder minder zerlegt, um es in seinen Einzelteilen bearbeiten zu können. Anhand der „Document Type Definitions“ (DTDs) oder seiner „Tags“ ist es möglich, ein Dokument zu „schreddern“ und in ein relationales System aus Spalten und Zeilen einzupassen. Allerdings hat dieses Verfahren den Nachteil, speicherfressend zu sein.

Im Datenschredder zerlegt

IBM verwendet zur Übertragung der XML-Dokumente auf DB2 (und umgekehrt zu ihrer Wiederherstellung) den kostenlosen Datenbankzusatz XML-Extender als zwischengeschaltete Instanz. Die DTDs werden durch IBMs proprietäre „Data Access Definition“ (DAD) übersetzt, die auf Elemente in relationalen Tabellen weisen. Die Dokumente lassen sich dabei komplett als Clob, nach Typen fragmentiert oder als Einzelelemente („shredded“) ablegen.

In dieser unterschiedlichen Granularität kann auch Microsofts SQL Server 2000 XML-Dokumente speichern. Die Lösung hat hier den Namen „XML for SQL Server“, abgekürzt „XMLSQL“. Es handelt sich dabei um ein „Feature Pack“ zum SQL Server 2000, das zum kostenlosen Download zur Verfügung steht. Microsoft geht XML nicht so sehr unter dem Aspekt einer Erweiterung der Datenbank an, sondern hält die Integration eher für eine Frage der Middleware. „Unser Ziel ist der Zugang zu Informationen, unabhängig davon, wo sie sich befinden“, erklärt Tom Rizzo, für SQL Server zuständiger Microsoft-Manager. Es ist auffällig, dass der Microsoft-Ansatz im Gegensatz zu IBM und Oracle XML-Syntax wie „Processing Instruction Information“ über in den Dokumenten integrierte Programme oder „Namespace

Declarations“ nicht unterstützt.