Académique Documents
Professionnel Documents
Culture Documents
XMLType
Oracle XML DB
S. Magnier - 19/06/2008
Oracle XML DB
S. Magnier - 19/06/2008
Oracle XML DB
S. Magnier - 19/06/2008
Oracle XML DB
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ée 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 W3C 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.
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
Le type XMLType permet le stockage persistant de
documents XML et :
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
Performances
LOB -> médiocres pour DML, mode structuré-> excellentes performances
SQL Accès
LOB -> quelques méthodes, mode structuré -> bon accès via SQL
fonctions, index, contraintes, …
Espace
LOB -> espace important, mode structuré -> espace plus optimisé
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
Insertion
INSERT INTO table_with_xml_column (filename,
xml_document) VALUES ('test.xml',
XMLType(bfilename('XMLDIR', 'test.xml'),
nls_charset_id('AL32UTF8')));
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
SELECT x.OBJECT_VALUE.getCLOBVal()
FROM xml_table x;
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
EXISTSNODE (XMLType_instance,
XPath_string [, namespace_string ] )
Cette
fonction vérifie si le chemin
XPath donné, référence au moins un
nœud élément ou texte du document
XML
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
Exemple
Récupération de tous les documents XML
ayant un noeud ‘Etudiant/Nom’ avec la
valeur = "Magnier" dans la table Etudiants
(de type XMLType)
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
Mise à jour de XMLType
SELECT Nom,
EXTRACT(Credit, '/Etudiant/Credit')
"Nombre de Credits"
FROM Etudiants
WHERE Nom = 'Magnier' AND Prenom='Sebastien' ;
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
UPDATE Etudiants SET Credit =
UPDATEXML(Credit,
'/Etudiant/Credit/text()',4)
WHERE Nom = 'Magnier' AND
Prenom = 'Sebastien';
1 row updated.
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
SELECT Nom,
EXTRACT(Credit, '/Etudiant/Credit')
"Nombre de Credits"
FROM Etudiants
WHERE Nom = 'Magnier' AND
Prenom='Sebastien' ;
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
Résultat de la forme
NIP ----------------------------
<NIP>10502216</NIP>
<NIP>10542356</NIP>
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
S. Magnier - 19/06/2008
XML et Bases de données
XMLType
Résultats de la forme
NIP ----------------------------
10502216
10542356
S. Magnier - 19/06/2008
Oracle XML DB
Oracleoffre une architecture complète
qui permet
La gestion de documents XML avec des
fonctionnalités de stockage, recherche,
indexation, mise à jour.
Le développement d’applications avec des
accès http ou ftp à la base de données.
S. Magnier - 19/06/2008
Oracle XML DB
Quand des schémas XML sont enregistrés avec
Oracle XML DB,
un ensemble de tables par défaut est créé et
utilisé pour stocker les documents
Ces documents peuvent vus et accéder via un
répertoire (repository)
Les tables et colonnes XMLType peuvent être
stockées comme :
Des gros objets
S. Magnier - 19/06/2008
Oracle XML DB
Les vues peuvent être stockées dans des tables
locales ou distantes (remote)
S. Magnier - 19/06/2008
Conclusion
Oracle fournit de plus en plus d’outils (type de
données, API, architecture complète, …)
Pour la manipulation de documents XML
S. Magnier - 19/06/2008