SQL/XML
Die SQL/XML, oder XML-Related Specifications, Erweiterung zum SQL Standard ist durch ISO/IEC 9075-14 (siehe SQL) definiert. Der ISO-Standard ist nicht frei verfügbar, jedoch gibt es ein ZIP-Archiv mit einem Entwurf aus 2008.[1] SQL/XML spezifiziert SQL-basierte Erweiterungen zur Nutzung von XML in Verbindung mit SQL. Der XML Datentyp als auch diverse Routinen, Funktionen sowie XML-zu-SQL Datentypabbildung werden eingeführt, um Manipulation und Speicherung von XML in einer SQL Datenbank zu unterstützen.
Beschreibung
Die SQL/XML Spezifikation inkludiert Funktionen um XML Daten zu konstruieren. Diese Funktionen erlauben dem Benutzer neue Elemente oder Attribute mit Werten aus relationalen Tabellen zu konstruieren. Andere Funktionen wie beispielsweise XMLCONCAT oder XMLAGG können dazu verwendet werden, um kleine XML Fragmente in größere zusammenzuführen. Die Liste der verfügbaren Konstruktionsfunktionen lautet:
- XMLELEMENT
- XMLATTRIBUTES
- XMLFOREST
- XMLCONCAT
- XMLNAMESPACES
- XMLCOMMENT
- XMLPI
- XMLDOCUMENT
- XMLAGG
- etc.
SQL/XML definiert aber auch Funktionen, die dem Benutzer erlauben, XQuery Ausdrücke in SQL Statements zu verwenden. Diese Funktionen lauten:
- XMLQUERY
- XMLTABLE
Während XMLQUERY Werte vom Typ XML zurückgibt, kann die Funktion XMLTABLE XML Daten als Input verwenden and eine relationale Tabelle als Ausgabe produzieren. Eigenschaften von XML Daten können zum Beispiel mit dem XMLEXISTS Prädikat ausgedrückt werden, typischerweise in der WHERE Klausel eines SQL Statements.
Standardkonformität
Auf dem genannten Entwurf des ISO-Standards basiert auch die Evaluierung der SQL/XML:2006-Standardkonformität von Oracle 11g Release 1, MS SQL Server 2008 und MySQL 5.1.30 von Wagner. Das Ergebnis dieser Evaluierung wird in folgender Aufstellung dargestellt:[2]
Oracle 11g Release 1 | MS SQL Server 2008 | MySQL 5.1.30 | |
---|---|---|---|
Basisdatentyp XML | teilweise | hohe | keine |
SQL/XML-Prädikate | hohe | teilweise | keine |
SQL/XML-Funktionen | hohe | teilweise | geringe |
Aufgrund der kaum nennenswerten Änderungen in SQL/XML:2008 gegenüber SQL/XML:2006 hat oben angeführte Aufstellung nach wie vor Gültigkeit.
Weblinks
- ISO/IEC 9075-14:2006, iso.org (englisch)
- Jim Melton Jim Melton; SIGMOD Record
- SQL/XML is Making Good Progress Andrew Eisenberg, Jim Melton; SIGMOD Record 31(2): 101-108 2002.
Literatur
- Michael Wagner: SQL/XML:2006 - Evaluierung der Standardkonformität ausgewählter Datenbanksysteme 1. Auflage, Diplomica Verlag, ISBN 3-8366-9609-6
Einzelnachweise
- ↑ Zip-Archiv mit einer SQL/XML-Entwurfsversion von 2008
- ↑ Michael Wagner: SQL/XML:2006 - Evaluierung der Standardkonformität ausgewählter Datenbanksysteme 1. Auflage, Diplomica Verlag, ISBN 3-8366-9609-6