XML-Datenbank
Der Begriff XML-Datenbank fasst folgende unterschiedlichen Systeme zusammen:
- Datenbanken, die ihre Daten nativ im XML-Dateiformat speichern.
- Datenbanken, die Abfrageergebnisse im XML zurückgeben und auch XML-Daten lesen und verarbeiten können.
- Datenbanken, die Abfrageergebnisse im XML zurückgeben könnnen.
Die gängigen relationalen Datenbanksysteme sind heute weitgehend in der Lage, Abfrageergebnisse als XML-Datei zurückzuliefern. Reinrassige XML-Datenbanken, die ihre Daten nativ im XML-Format halten, sind noch eher exotisch.
XML ist ein hierarchisches Dateiformat (im strengen Sinn ist XML eine Sprache, mit der definiert wird, wie XML-kompatible Dateiformate definiert werden). Hierarchische Datenbanken gelten als überholt. Das relationale Modell nach Codd ist universell, robust und theoretisch exzellent untermauert. XML ist eher geeigent für semi-strukturierte Daten (z.B. ein Brief, bei dem die Absenderadresse struktiert ist, aber der Text nicht). Daher wird XML als Dateiformat in Datenbanken wohl eher die Ausnahme bleiben.
Für die Abfrage von XML-Dokumenten existieren die Sprachen XPath und XQuery. Zur Transformation kann XSLT verwendet werden. Diese können aber momentan nicht an SQL heranreichen. Insbesondere die Performanz beim Zugriff auf grosse Datenmengen ist beim XML wesentlich schlechter als bei relationalen Datenbanken. Normalisierung ist in XML möglich, aber komplex (XPointer). Dem Datenbank-Schema bei relationalen Datenbanken enspricht die DTD oder XML-Scheme.
Die Microsoft-ADO-Technologie erlaubt es aus jedem kompatiblen Datenbanksystem, Abfrageergebnisse in XML zu erhalten. Daher sind alle ADO-kompatiblen (und damit auch alle ODBC-kompatiblen) Datenbanken XML-Lieferanten.