Colonnes XML d'une géodatabase stockée dans Oracle

Le format XML est un standard ouvert permettant de définir des éléments de données dans des documents. Pour stocker des données XML dans une base de données Oracle, vous pouvez utiliser des colonnes XML ArcSDE ou des colonnes XML Oracle natives.

Colonnes XML dans ArcGIS Desktop

Les colonnes XML ne sont que partiellement prises en charge dans la géodatabase. Par conséquent, les éléments suivants sont vrais :

Colonnes XML dans un SGBD de type Oracle

Vous pouvez utiliser deux types de colonne XML : XML ArcSDE ou XML Oracle. Le type de colonne XML utilisé dans un jeu de données que vous créez dans votre géodatabase est déterminé par le paramètre XML_COLUMN_STORAGE de la table DBTUNE. Par défaut, ce paramètre est défini sur SDE_XML.

RemarqueRemarque :

Les types de données ArcSDE XML permettent de stocker des ensembles de documents de métadonnées utiles aux services de métadonnées ArcIMS. Par conséquent, si vous utilisez des Services de métadonnées ArcIMS, vous devez définir le paramètre XML_COLUMN_STORAGE sur SDE_XML.

Pour plus d'informations sur XML Oracle, consultez la documentation Oracle.

colonnes XML ArcSDE

Les documents XML ArcSDE sont stockés dans la base de données en tant qu'objet LOB (Large Object) Oracle. Les paramètres de stockage et de mise en cache LOB, la taille des blocs du tablespace et la configuration de cache tampon affectent tous la vitesse à laquelle les données LOB sont extraites, qui elle-même affecte les performances de recherche.

Pour le type XML ArcSDE trois tables système de géodatabase ArcSDE permettent de gérer les colonnes XML : SDE_XML_COLUMNS, SDE_XML_INDEX_TAGS et SDE_XML_INDEXES. Ces tables appartiennent à l'administrateur ArcSDE. ArcSDE crée également, pour chaque colonne XML, deux tables supplémentaires permettant de stocker et d'indexer des documents XML : SDE_XML_DOC<ID_COLONNE> et SDE_XML_IDX_<ID_COLONNE>. Ces tables appartiennent à l'utilisateur propriétaire de la table métier contenant la colonne XML.

ArcSDE crée les tables suivantes lors de l'utilisation d'ArcSDE XML. Ces tables permettent de stocker et d'indexer des documents XML.

AttentionAttention :

Ne modifiez aucune de ces tables à l'aide de SQL.

SDE_XML_COLUMNS

Lorsque vous ajoutez une colonne XML ArcSDE à une table métier, une ligne est ajoutée à la table SDE_XML_COLUMNS. Cette table existe en un exemplaire dans chaque base de données ArcSDE.

Nom du champ

Type de champ

Description

Nul ?

COLUMN_ID

NUMBER

Identifiant de la colonne XML et clé primaire de la table

Cette valeur est attribuée par ArcSDE lors de la création de la colonne XML ArcSDE.

non NULL

REGISTRATION_ID

NUMBER

Identifiant de la table métier contenant la colonne XML ArcSDE et la clé étrangère de la table système TABLE_REGISTRY

non NULL

COLUMN_NAME

NVARCHAR2(32)

Nom de la colonne XML ArcSDE de la table métier.

non NULL

INDEX_ID

NUMBER

Identifiant de l'index XPath associé à la colonne XML ArcSDE (si elle existe) et clé étrangère de la table SDE_XML_INDEXES

MINIMUM_ID

NUMBER

Valeur du nombre initialement utilisé dans la colonne XML ArcSDE de la table métier pour l'identification des différents documents XML

CONFIG_KEYWORD

NVARCHAR2(32)

Mot-clé de configuration DBTUNE dont les paramètres déterminent la méthode de définition dans la base de données des documents XML, des tables d'index XML XPath et des index de texte créés pour ces tables

Pour plus d'informations sur les mots-clés DBTUNE et leurs paramètres, reportez-vous aux rubriques Que sont les mots-clés et les paramètres de configuration DBTUNE ? et Paramètres de configuration DBTUNE Oracle.

XFLAGS

NUMBER

Valeur indiquant si les documents originaux dans la table de document XML sont stockés au format compressé ou décompressé.

Par défaut, les documents sont compressés ; les documents compressés offrent de meilleures performances.

SDE_XML_INDEXES

Cette table existe en un exemplaire dans chaque base de données ArcSDE. Elle comprend une ligne pour chaque colonne XML ArcSDE ayant un index XPath.

Nom du champ

Type de champ

Description

Nul ?

INDEX_ID

NUMBER

Identifiant de l'index XPath et de la clé primaire de la table

non NULL

INDEX_NAME

NVARCHAR2(32)

Nom de l'index XPath

Pour les index XPath associés à un service de métadonnées ArcIMS, ce nom est "ims_xml#", où # est l'identifiant de la colonne XML ArcSDE dans la table métier du service de métadonnées.

non NULL

OWNER

NVARCHAR2(32)

Utilisateur de base de données propriétaire de la colonne XML ArcSDE

Pour les services de métadonnées ArcIMS, il s'agit de l'utilisateur spécifié dans le fichier de configuration ArcXML du service.

non NULL

INDEX_TYPE

NUMBER

Valeur indiquant le type d'index XPath

Dans les versions ArcSDE à partir de 9.1, la valeur est 2 pour le type d'index SE_XML_INDEX_DEFINITION et 1 pour le type d'index SE_XML_INDEX_TEMPLATE. Pour les index XPath associés à un service de métadonnées ArcIMS, le type d'index SE_XML_INDEX_DEFINITION est seul pris en charge.

non NULL

DESCRIPTION

NVARCHAR2(64)

Texte identifiant l'index XPath

Si un fichier de définition d'index a été utilisé pour la création de l'index, la description de celui-ci peut être spécifiée en début de fichier.

SDE_XML_INDEX_TAGS

Une colonne XML ArcSDE peut avoir un index XPath permettant la recherche du contenu d'un élément ou d'un attribut XML spécifique dans chaque document. La liste des éléments et des attributs compris ou non dans un index XPath donné est enregistrée dans cette table.

Cette table existe en un exemplaire dans chaque base de données ArcSDE. Elle comprend un enregistrement pour chaque XPath associé à l'index XPath d'une colonne XML ArcSDE.

Nom du champ

Type de champ

Description

Nul ?

INDEX_ID

NUMBER

Identifiant de l'index XPath associé à une colonne XML ArcSDE (si elle existe) et clé étrangère de la table SDE_XML_INDEXES

non NULL

TAG_ID

NUMBER

Identifiant d'un XPath ou d'une balise

non NULL

TAG_NAME

NVARCHAR2(1024)

Chemin XPath absolu identifiant un élément ou un attribut XML pouvant être présent dans un document XML

Par exemple, /metadata/mdDateSt identifie un élément XML et /metadata/dataIdInfo/tpCat/TopicCatCd/@value identifie un attribut XML.

Les chemins XPath ne doivent pas contenir d'astérisques (*) pour faire référence à un groupe d'éléments ou d'attributs XML — chaque élément ou attribut est adressé de manière exacte à l'aide du XPath spécifié dans cette table. Les éléments ne peuvent pas être nommés * dans un document XML valide.

non NULL

DATA_TYPE

NUMBER

Valeur indiquant si l'élément ou l'attribut XML est indexé en tant que nombre, varchar ou texte.

Une valeur de 1 indique que le contenu de la balise est indexé comme du texte ; une valeur de 2 indique que le contenu de la balise est indexé comme un nombre ; une valeur de 3 indique que le contenu de la balise est indexé comme un varchar.

non NULL

TAG_ALIAS

NUMBER

Nombre permettant d'identifier un XPath

Par exemple, le protocole de communication Z39.50 utilise des codes numériques pour faire référence au contenu pouvant faire l'objet d'une recherche.

Cette colonne n'est pas utilisée par le Connecteur Z39.50 d'ArcIMS.

DESCRIPTION

NVARCHAR2(64)

Texte identifiant le contenu qui doit figurer dans l'élément ou dans l'attribut XML

IS_EXCLUDED

NUMBER

Valeur indiquant si l'élément XML fait partie de l'index XPath ou non

0 = le XPath est inclus

1 = le XPath est exclu

NOT NULL

SDE_XML_DOC<ID_COLONNE>

La table SDE_XML_DOC<ID_COLONNE> stocke le document XML et un index de texte intégral dans le contenu du document XML. La base de données ArcSDE contient l'une de ces tables pour chaque colonne XML ArcSDE. Le nombre dans le nom de table est l'identifiant de la colonne XML ArcSDE. Cette table contient une ligne par document XML stocké dans la colonne XML ArcSDE.

Nom du champ

Type de champ

Description

Nul ?

SDE_XML_ID

NUMBER

Identifiant d'un document XML stocké dans la colonne XML ArcSDE et clé primaire de la table

NOT NULL

DOC_PROPERTY

NUMBER

Valeur indiquant la présence ou l'absence de conflits lors de l'ajout du contenu d'un document XML à l'index XPath

1 = conflit existant, par exemple, lorsqu'un élément est supposé être indexé numériquement mais que le document contient à la place une chaîne de caractères dans cet élément.

valeur NULL = absence de problèmes lors de l'indexation du document.

XML_DOC

BLOB

Document XML

NOT NULL

XML_DOC_VAL

BLOB

Contenu du document XML entier après suppression des balises XML et des autres balisages

Par défaut, l'index de texte est créé sur cette colonne ; cet index permet de répondre aux requêtes de texte intégral. Pour les services de métadonnées ArcIMS, cet index permet de répondre aux requêtes FULLTEXT.

SDE_XML_IDX<ID_COLONNE>

La table SDE_XML_IDX<ID_COLONNE> est créée pour des colonnes XML ArcSDE qui ont un index de texte XPath. Cette table stocke le texte ou le contenu pour chaque XPath indexé.

L'identifiant dans le nom de table est le numéro d'enregistrement interne de la colonne XML ArcSDE.

Nom du champ

Type de champ

Description

Nul ?

XML_KEY_COLUMN

NUMBER

Identifiant de la valeur indexée et clé primaire de la table

NOT NULL

SDE_XML_ID

NUMBER

Identifiant du document XML contenant la valeur indexée

NOT NULL

TAG_ID

NUMBER

Identifiant de la balise associée à l'index XPath de la colonne XML ArcSDE, identifiant l'emplacement de stockage de la valeur dans le document

non NULL

DOUBLE_TAG

FLOAT(126)

Valeur indexée, lorsque la balise est définie comme DOUBLE dans la définition d'index XPath

STRING_TAG

NVARCHAR2(256)

Valeur indexée, lorsque la balise est définie comme VARCHAR dans la définition d'index XPath

TEXT_TAG

CLOB

Valeur indexée, lorsque la balise est définie comme STRING dans la définition d'index XPath

Voici le diagramme d'une table contenant une colonne XML ArcSDE et des tables système permettant d'assurer son suivi. Les lignes pointillées indiquent des relations implicites entre les tables, les traits pleins indiquent des relations explicitement définies.

Table métier Sites et tables système permettant la prise en charge de colonnes XML ArcSDE dans Oracle

Colonnes XML dans un document XML

Il est impossible d'exporter une table contenant une colonne XML dans un document d'espace de travail XML. Il est possible de l'exporter dans un jeu d'enregistrements XML, mais rien ne distingue la colonne comme étant une colonne XML, dans le document.

Rubriques associées


3/6/2012