Wie die SQL-XML-Datentyp verwenden
2003: Die XML-Typ wurde mit SQL eingeführt. Dies bedeutet, dass konforme Implementierungen speichern und arbeiten auf XML-formatierte Daten direkt, ohne sie zunächst zu XML aus einer der anderen SQL-Datentypen umwandelt.
Der XML-Datentyp, einschließlich dessen Subtypen, obwohl intrinsische jeder Implementierung, die es unterstützt, wirkt wie ein benutzerdefinierter Typ (UDT). Die Subtypen sind:
XML (DOKUMENT (UNTYPED))
XML (DOKUMENT (ANY))
XML (DOKUMENT (XMLSCHEMA))
XML (CONTENT (UNTYPED))
XML (CONTENT (ANY))
XML (CONTENT (XMLSCHEMA))
XML (Sequenz)
Die XML-Typ bringt SQL und XML in engen Kontakt, weil sie ermöglicht es Anwendungen, SQL-Operationen auf XML-Inhalte und XML-Operationen auf SQL Inhalt auszuführen. Sie können mit Spalten von einem der anderen vordefinierten Typen in einer Join-Operation in der eine Spalte des XML-Typs umfassen WOHER Klausel einer Abfrage.
In relationale Datenbank Art und Weise, wird bestimmen, DBMS den optimalen Weg, um die Abfrage auszuführen und dann mach es.
Wenn auf den XML-Typ verwenden
Ob oder nicht, sollten Sie Daten im XML-Format speichern, hängt davon ab, was Sie vorhaben, mit dem Daten zu tun. Hier sind einige Fälle, in denen es sinnvoll zu speichern Daten in XML-Format macht:
Wenn Sie einen ganzen Block von Daten zu speichern und später den ganzen Block abzurufen.
Wenn Sie die gesamte XML-Dokument abfragen zu können. Einige Implementierungen haben, den Umfang der erweiterten EXTRAKT Betreiber zu ermöglichen, die gewünschten Inhalte aus einem XML-Dokument zu extrahieren.
Wenn Sie benötigen starke Typisierung von Daten in SQL-Anweisungen. die XML-Typ Verwendung gewährleistet, dass Datenwerte gültige XML-Werte und nicht nur beliebige Textzeichenfolgen sind.
Um die Kompatibilität mit zukünftigen, noch nicht spezifiziert, Speichersysteme, die nicht unterstützen könnten bestehende Typen wie CHARACTER LARGE OBJECT, oder CLOB.
Um die Vorteile der künftigen Optimierungen, die nur die XML-Typ unterstützen.
Hier ist ein Beispiel dafür, wie Sie die XML-Typ verwendet werden könnte:
CREATE TABLE-Client (Client CHAR (30) NOT NULL, Address1 CHAR (30), Address2 CHAR (30), CityCHAR (25), StateCHAR (2), Postal CHAR (10), PhoneCHAR (13), FaxCHAR (13), Contact CHAR (30), Kommentare XML (Sequenz)) -
Diese SQL-Anweisung ein XML-Dokument in das speichert Bemerkungen Spalte der Tabelle Kunde. Das resultierende Dokument könnte wie folgt aussehen:
1 Ist VetLab ausgestattet Pinguin Blut zu analysieren? ja 2 Danke für die schnelle Wende am Seeleopard Sputum Probe. Nein
Wenn nicht die XML-Typ zu verwenden,
Nur weil der SQL-Standard können Sie die XML-Typ zu verwenden, bedeutet nicht, dass Sie immer sein sollte. In der Tat, bei vielen Gelegenheiten, macht es keinen Sinn, die XML-Typ zu verwenden. Die meisten Daten in relationalen Datenbanken ist heute besser in seinem aktuellen Format, als es im XML-Format ist. Hier sind ein paar Beispiele, bei denen nicht die XML-Typ zu verwenden:
Wenn bricht die Daten natürlich in eine relationale Struktur nach unten mit Tabellen, Zeilen und Spalten
Wenn Sie müssen Teile des Dokuments zu aktualisieren, anstatt mit dem Dokument als Ganzes behandeln