Avant de stocker un document XML avec l'Extension XML, vous devez comprendre sa structure pour déterminer le mode de recherche à utiliser. A cet effet, vous devez déterminer les points suivants :
Les sections ci-après indiquent la procédure à suivre.
Pour ce cours, la structure de document XML reçoit des informations relatives à une commande client déterminée, structurée au niveau supérieur par le numéro de commande et au niveau suivant, par les informations sur le client, la pièce et la livraison. Le document XML est décrit à la Figure 4.
Ce cours fournit également un exemple de DTD permettant de comprendre et de valider la structure du document XML. Le fichier DTD se trouve à l'Annexe B, Exemples. Il correspond à la structure illustrée Figure 4.
Figure 4. Structure hiérarchique de la DTD et du document XML
L'Extension XML comporte des types de données utilisateur XML sous lesquels vous définissez une colonne qui doit contenir des documents XML. Ces types de données sont les suivants :
Dans ce cours, vous allez stocker un petit document dans DB2 et, par conséquent, utiliser le type de données XMLVarchar.
Lorsque vous comprenez la structure du document XML et les besoins de
l'application, vous pouvez déterminer les éléments et les attributs à
examiner, ceux qui feront l'objet de recherches fréquentes ou
longues. Le service de maintenance a indiqué qu'il demandera
souvent la clé de la commande, le nom du client, le prix et la date de
livraison, et qu'il aura besoin d'effectuer des recherches
rapides. Ces informations sont contenues dans les éléments et les
attributs de la structure de document XML. Le Tableau 2 décrit les chemins d'emplacement de chaque élément et
attribut.
Tableau 2. Eléments et attributs à examiner
Données | Chemin d'emplacement |
---|---|
Clé de la commande | /Order/@key |
Client | /Order/Customer/Name |
Prix | /Order/Part/ExtendedPrice |
Date de livraison | /Order/Part/Shipment/ShipDate |
Dans ce tutoriel, vous allez créer un fichier DAD pour la colonne XML qui permet de stocker le document XML dans DB2. Elle permet également de mapper le contenu des éléments et des attributs XML vers des tables annexes DB2 utilisées pour l'indexation, ce qui améliore les performances de recherche. Dans la dernière section, vous avez identifié les éléments et les attributs à examiner. Dans la présente section, vous obtenez davantage d'informations sur le mappage de valeurs d'éléments et d'attributs vers des tables DB2 pouvant être indexées.
Après l'identification des éléments et des attributs à examiner, vous déterminez leur disposition dans les tables annexes, le nombre de tables et les colonnes appartenant à chaque table. En général, pour organiser les tables annexes, vous regroupez des informations apparentées dans une même table. La structure dépend également de la possibilité ou non de répéter le chemin d'emplacement des éléments dans un document. Par exemple dans votre document, l'élément part (pièce) peut être répété et, par conséquent, les éléments price (prix) et date peuvent avoir des occurrences multiples. Les éléments qui peuvent être répétés doivent figurer dans leurs propres tables.
En outre, vous avez également besoin de déterminer les types DB2 de base que les valeurs d'éléments ou d'attributs devront utiliser. En général, ces types sont facilement indiqués par le format des données. Choisissez VARCHAR, INTEGER ou DATE, selon qu'il s'agit respectivement de texte, d'entiers numériques ou d'une date pour effectuer des recherches d'après des plages de valeurs.
Dans ce tutoriel, les éléments et les attributs sont mappés vers les tables annexes suivantes :
Nom de colonne | Type de données | Chemin d'emplacement | Occurrences multiples ? |
---|---|---|---|
ORDER_KEY | INTEGER | /Order/@key | Non |
CUSTOMER | VARCHAR(16) | /Order/Customer/Name | Non |
Nom de colonne | Type de données | Chemin d'emplacement | Occurrences multiples ? |
---|---|---|---|
PRICE | DECIMAL(10,2) | /Order/Part/ExtendedPrice | Oui |
Nom de colonne | Type de données | Chemin d'emplacement | Occurrences multiples ? |
---|---|---|---|
DATE | DATE | /Order/Part/Shipment/ShipDate | Oui |
Pour ce tutoriel, nous fournissons un jeu de scripts pour la configuration de votre environnement. Ces scripts se trouvent dans le répertoire DXX_INSTAL\samples\cmd (DXX_INSTALL désignant l'unité et le répertoire d'installation de l'Extension XML, par exemple c:\dxx\samples\cmd). Ils se présentent comme suit :