Zum Inhalt springen

„SQL/XML“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Abschnittlink korrigiert
DavidAugustat (Diskussion | Beiträge)
K Sprachliche Verbesserungen ("Deppenleerzeichen", ...)
 
Zeile 1: Zeile 1:
'''SQL/XML''' spezifiziert SQL-basierte Erweiterungen zur Nutzung von [[XML]] in Verbindung mit [[SQL]]. Der neue Datentyp ''XML'' als auch diverse Routinen, Funktionen sowie XML-zu-SQL und SQL-zu-XML Abbildung werden eingeführt, um Manipulation und Speicherung von XML in einer SQL [[Datenbank]] zu unterstützen.
'''SQL/XML''' spezifiziert SQL-basierte Erweiterungen zur Nutzung von [[XML]] in Verbindung mit [[SQL]]. Der neue Datentyp ''XML'' als auch diverse Routinen, Funktionen sowie XML-zu-SQL und SQL-zu-XML-Abbildung werden eingeführt, um Manipulation und Speicherung von XML in einer SQL-[[Datenbank]] zu unterstützen.


SQL/XML ist in Teil 14 ''XML-Related Specifications (SQL/XML)'' des Standards ISO/IEC 9075 der Datenbanksprache [[SQL#Sprachstandard|SQL]] definiert. Der Standard ist nicht frei verfügbar, jedoch gibt es ein ZIP-Archiv mit einem Entwurf aus 2008.<ref>[http://www.wiscorp.com/sql200n.zip Zip-Archiv mit einer SQL/XML-Entwurfsversion von 2008]</ref>
SQL/XML ist in Teil 14 ''XML-Related Specifications (SQL/XML)'' des Standards ISO/IEC 9075 der Datenbanksprache [[SQL#Sprachstandard|SQL]] definiert. Der Standard ist nicht frei verfügbar, jedoch gibt es ein ZIP-Archiv mit einem Entwurf von 2008.<ref>[http://www.wiscorp.com/sql200n.zip Zip-Archiv mit einer SQL/XML-Entwurfsversion von 2008]</ref>


== Beschreibung ==
== Beschreibung ==
Die SQL/XML Spezifikation beinhaltet 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:
Die SQL/XML-Spezifikation beinhaltet Funktionen für die Konstruktion von XML-Daten. Diese Funktionen erlauben es 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. Folgende Konstruktionsfunktionen stehen zur Verfügung:
* XMLELEMENT
* XMLELEMENT
* XMLATTRIBUTES
* XMLATTRIBUTES
Zeile 16: Zeile 16:
* etc.
* etc.


SQL/XML definiert aber auch Funktionen, die dem Benutzer erlauben, [[XQuery]] Ausdrücke in [[SQL]] Statements zu verwenden. Diese Funktionen lauten:
SQL/XML definiert aber auch Funktionen, die es dem Benutzer erlauben, [[XQuery]]-Ausdrücke in [[SQL]]-Statements zu verwenden. Diese Funktionen lauten:
* XMLQUERY
* XMLQUERY
* XMLTABLE
* XMLTABLE


Während XMLQUERY Werte vom Typ XML zurückgibt, kann die Funktion XMLTABLE XML Daten als Input verwenden und eine [[Datenbanktabelle|relationale Tabelle]] als Ausgabe produzieren. Eigenschaften von XML Daten können zum Beispiel mit dem XMLEXISTS Prädikat ausgedrückt werden, typischerweise in der [[SQL#Abfrage mit Filter nach Inhalt (WHERE ... LIKE ...)|WHERE Klausel]] eines SQL Statements.
Während XMLQUERY Werte vom Typ XML zurückgibt, kann die Funktion XMLTABLE XML Daten als Input verwenden und eine [[Datenbanktabelle|relationale Tabelle]] als Ausgabe produzieren. Eigenschaften von XML-Daten können zum Beispiel mit dem XMLEXISTS-Prädikat ausgedrückt werden, typischerweise in der [[SQL#Abfrage mit Filter nach Inhalt (WHERE ... LIKE ...)|WHERE-Klausel]] eines SQL-Statements.


== Standardkonformität ==
== Standardkonformität ==

Aktuelle Version vom 25. Mai 2023, 13:07 Uhr

SQL/XML spezifiziert SQL-basierte Erweiterungen zur Nutzung von XML in Verbindung mit SQL. Der neue Datentyp XML als auch diverse Routinen, Funktionen sowie XML-zu-SQL und SQL-zu-XML-Abbildung werden eingeführt, um Manipulation und Speicherung von XML in einer SQL-Datenbank zu unterstützen.

SQL/XML ist in Teil 14 XML-Related Specifications (SQL/XML) des Standards ISO/IEC 9075 der Datenbanksprache SQL definiert. Der Standard ist nicht frei verfügbar, jedoch gibt es ein ZIP-Archiv mit einem Entwurf von 2008.[1]

Die SQL/XML-Spezifikation beinhaltet Funktionen für die Konstruktion von XML-Daten. Diese Funktionen erlauben es 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. Folgende Konstruktionsfunktionen stehen zur Verfügung:

  • XMLELEMENT
  • XMLATTRIBUTES
  • XMLFOREST
  • XMLCONCAT
  • XMLNAMESPACES
  • XMLCOMMENT
  • XMLPI
  • XMLDOCUMENT
  • XMLAGG
  • etc.

SQL/XML definiert aber auch Funktionen, die es 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 und 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

[Bearbeiten | Quelltext bearbeiten]

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 (Oracle bezeichnet den Datentyp als 'XMLType' anstelle von 'XML') 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.

  • Michael Wagner: SQL/XML:2006 - Evaluierung der Standardkonformität ausgewählter Datenbanksysteme 1. Auflage, Diplomica Verlag, ISBN 3-8366-9609-6

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Zip-Archiv mit einer SQL/XML-Entwurfsversion von 2008
  2. Michael Wagner: SQL/XML:2006 - Evaluierung der Standardkonformität ausgewählter Datenbanksysteme 1. Auflage, Diplomica Verlag, ISBN 3-8366-9609-6