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:

1Ist VetLab ausgestattet Pinguin Blut zu analysieren?ja2Danke 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

Menü