XML DB
XML DB est un module de gestion XML intégré au Système de gestion de base de données Oracle.
Oracle XML DB[modifier]
Cette technologie étend les possibilités de la base de données relationnelle d'Oracle en proposant toutes les fonctionnalités d'une base de données XML. Le module Oracle XML DB offre une structure indépendante de stockage et de gestion de données XML. Il propose les fonctionnalités suivantes :
- Un type de données XML qui est utilisé pour stocker et gérer du contenu XML.
- Une collection de méthodes et des opérateurs SQL permettant d'agir sur du XML.
- La possibilité d'enregistrer un schéma conforme au W3C dans la base de données Oracle.
XMLType
Depuis la version 9i d'Oracle, un nouveau type de données appelé XMLType a fait son apparition. Il possède un certain nombre de fonctions permettant de créer, extraire et indexer des données XML stockées dans le SGBD Oracle. En tant que nouveau type de données, XMLType peut être utilisé comme type pour colonnes dans des tables et des vues ainsi que dans des procédures stockées PL/SQL. Avec le type XMLType et ses possibilités, les développeurs disposent de toutes les possibilités d'une base de données relationnelle tout en travaillant avec des données sous format XML.
Fonctionnalités de base[modifier]
Création d'une table[modifier]
La création d'une table permettant de stocker des types XML est aussi simple que la création d'une table habituelle dans Oracle, en utilisant la syntaxe standard de SQL :
- SQL> create table COMMANDES (comm XMLTYPE);
Cette commande créé une table contenant une colonne comm de type XMLType.
Insertion de données XML dans une table[modifier]
La commande suivante va insérer dans une colonne de type XMLType un document XML :
- SQL> insert into COMMANDES (comm) values (sys.XMLTYPE.createXML ('<commande>…</commande>'));
La fonction createXML() va convertir les balises passées en paramètre en un contenu de type XMLType.
Requête sur une table XML[modifier]
La commande suivante permet d'obtenir le contenu entier d'une table XML :
- SQL> select c.comm.getClobVal() from COMMANDES c;
Il est également possible d'obtenir certains nœuds uniquement :
- SQL> select c.comm.extract('/commande/ligneCommande').getClobVal() from COMMANDES c where c.comm.extract('commande/ligneCommande/idClient/text()').getStringVal() = '1234124' ;
Erreur Lua dans Module:Catégorisation_badges à la ligne 170 : attempt to index field 'wikibase' (a nil value).Erreur Lua dans Module:Suivi_des_biographies à la ligne 189 : attempt to index field 'wikibase' (a nil value).
Cet Article wiki "XML DB" est issu de Wikipedia. La liste de ses auteurs peut être visible dans ses historiques et/ou la page Edithistory:XML DB.