Comment utiliser le type de données XML SQL

Le type XML a été introduit avec SQL: 2003. Cela signifie que les mises en œuvre conformes peuvent stocker et à utiliser des données au format XML directement, sans d'abord le convertir en XML à partir de l'un des autres types de données SQL.

Sommaire

Le type de données XML, y compris ses sous-types, bien intrinsèque à toute mise en œuvre qui le soutient, agit comme un type défini par l'utilisateur (UDT). Les sous-types sont les suivants:

  • XML (DOCUMENT (non typé))

  • XML (DOCUMENT (ANY))

  • XML (DOCUMENT (XMLSCHEMA))

  • XML (le contenu (non typé))

  • XML (le contenu (ANY))




  • XML (le contenu (XMLSCHEMA))

  • XML (SEQUENCE)

Le type XML apporte SQL et XML en contact étroit, car il permet aux applications d'effectuer des opérations SQL sur le contenu XML, et les opérations sur le contenu XML de SQL. Vous pouvez inclure une colonne de type XML avec des colonnes de l'un des autres types prédéfinis dans une opération de jointure dans le clause d'une requête.

De véritable mode de base de données relationnelle, votre SGBD permettra de déterminer la meilleure façon d'exécuter la requête, puis va le faire.

Quand utiliser le type XML

Que ce soit ou non vous devez stocker des données au format XML dépend de ce que vous comptez faire avec ces données. Voici quelques cas où il est logique de stocker des données au format XML:

  • Lorsque vous souhaitez stocker un bloc entier de données et de récupérer l'ensemble du bloc plus tard.

  • Lorsque vous voulez être en mesure d'interroger l'ensemble du document XML. Certaines implémentations ont élargi la portée de la EXTRAIT opérateur pour permettre l'extraction de contenu désiré à partir d'un document XML.

  • Lorsque vous avez besoin d'un typage fort des données à l'intérieur des instructions SQL. Utilisation du type XML garantit que les valeurs de données sont des valeurs XML valides et non seulement arbitraires des chaînes de texte.

  • Pour assurer la compatibilité avec l'avenir, que les systèmes de stockage, encore non spécifiées qui pourraient ne pas soutenir les types existants, tels que Character large object, ou CLOB.

  • Pour profiter de futures optimisations qui soutiendront seulement le type XML.

Voici un exemple de comment vous pouvez utiliser le type XML:

CREATE TABLE CLIENT (ClientName CHAR (30) NOT NULL, Address1 CHAR (30), Address2 CHAR (30), CityCHAR (25), StateCHAR (2), PostalCode CHAR (10), PhoneCHAR (13), FaxCHAR (13), ContactPerson CHAR (30), Commentaires XML (SEQUENCE)) -

Cette instruction SQL permet de stocker un document XML dans le Commentaires colonne de la table Client. Le document qui en résulte pourrait ressembler à ce qui suit:

1VetLab est équipé d'analyser le sang de pingouin?Oui2Merci pour le redressement rapide de l'échantillon léopard joint de crachats.Non

Quand ne pas utiliser le type XML

Tout simplement parce que le standard SQL vous permet d'utiliser le type XML ne signifie pas que vous devriez toujours. En fait, à plusieurs reprises, il n'a pas de sens d'utiliser le type XML. La plupart des données dans les bases de données relationnelles est aujourd'hui mieux dans sa forme actuelle qu'elle ne l'est au format XML. Voici quelques exemples de quand ne pas utiliser le type XML:

  • Lorsque les données se décompose naturellement dans une structure relationnelle avec tables, les lignes et les colonnes

  • Lorsque vous aurez besoin de mettre à jour des morceaux de document plutôt que de traiter avec le document dans son ensemble


» » » » Comment utiliser le type de données XML SQL