SlideShare une entreprise Scribd logo
1  sur  47
XML et les bases de données
INF 7115
Automne 2002
Robert. GODIN
Par
Driss OUAHDI Hayat KRID
16 Décembre 2002
Plan
 Introduction
 Présentation XML
 Structure du document XML, DTD, XML Schema,
Feuilles de Style.
 XML et les Bases de données:
 Bases de données XML-Enabled
 Mappage
 Stockage et indexation des documents XML
 Les langages d’interrogation
 XML et Base de données Oracle
 Futures Développements et conférences
 Benchmarks
 Conclusion
 XML Standard d’échange de données
universel.
 Intégration des données et méta-données
 Les BD ne peuvent rester indifférentes :
 Nécessité de stocker les documents XML
 Nécessité de pouvoir interroger ces documents
 Quel modèle de données ?
 Quels langages d'interrogation ?
Introduction XML et BD
 Recherche textuelle.
Indexation approchée.
 Accès type moteur de
recherche.
 Performances attendues
« moyenne » pour une
volumétrie « forte
<Mémo>
S.V.P soyez sûr que vous
êtes au
<Lieu>SH-2040</Lieu> à
<Heure>17:30</Heure>
pour assister au cours
<Cours>INF7115</Cours>
</Mémo>
Exemple
Modèles de documents XML
 Approche « Document »
 Structure moins organisée et un contenu de
données mixtes
 Approche « Donnée »
 Structure plus organisée et
contenu de données non
mixtes.
 Compatibilité SGBDR
existants
 Intégrité sémantique
 Indexation exacte
 Adapté au transactionnel et
décisionnel
 Performances attendues
« moyenne » à « forte » pour
une volumétrie « moyenne »
Modèles de documents XML
<Mémo>
<Lieu>SH-2040</Lieu>
<Heure>17:30</Heure>
<Cours>INF7115</Cours>
</Mémo>
Exemple
 DTD :
(Document Type Definition) est une déclaration
de la structure type à laquelle le document XML
doit se conformer (c’est la grammaire du
document XML).
Limite des DTD
 Fondement des DTD hérités des DTD de
SGML
 Description limitée des documents (Typage
des PCDATA)
 Exprimé dans un langage autre que XML
Concepts de base

 SCHEMA :
L'objectif des Schémas est de définir des
contraintes sur des classes de Documents
conformes à un même modèle.
 Reprend les acquis des DTD mais utilise la
syntaxe XML au lieu des expressions
régulières SGML.
Concepts de base
 DOM :
 Document Object Model (DOM) : définit
structure logique d'un document.
 API destinée au modèle objet de document
 Offre une représentation des documents
XML sous forme d’arbre.
Concepts de base
 XSL :
(eXtensible Stylesheet Language) est un
langage qui transforme et traduit les
données XML d´un format à un autre.
 XSLT :
(eXstensible Stylesheet Langage Transform)
peut servir à styliser les documents XML, et à
produire des documents HTML, des supports WML
ou tout autre type de document textuel.
Concepts de base
XML et BD, quels Intérêts?
 XML fournit une méthode de
représentation des données structurées sans
ajout d’informations.
 Étant tout simplement des fichiers textuels,
les documents XML peuvent être produits
et utilisés par d’autres systèmes.
XML et BD, quels Intérêts?
 XML peut être utilisé par des outils, déjà
disponibles ou en début de diffusion,
permettant des comportements plus
recherchés.
 Les données sérialisées au format XML
fournissent la souplesse nécessaire à la
transmission et à la présentation des données.
Définition
 Ce sont des BD (souvent relationnelles) avec des
fonctionnalités facilitant le transfert et l’échange des
données avec des documents XML.
 Adaptées surtout pour le stockage et la manipulation
des documents orientés-Données.
 L’échange des données entre les documents XML et
la BD nécessite le passage par l’étape de mappage
(mapping) des données.
Bases de donnée XML-Enabled
Mise en correspondance entre le schéma XML et le
schéma de la base de donnée.
Deux types de mappages :
 Mappage basé sur les tables (Table-Based
Mapping)
 Mappage Relationnel-Objet (Object-
Relationnel Mapping)
 Mappage
Bases de donnée XML-Enabled
<Etudiants>
<Personne>
<Nom>ccc</Nom>
<Prénom>ddd</Prénom>
<Age>26</Age>
</Personne>
….
</Etudiants>
<Table>
<ligne>
<colonne>ccc</colonne>
<colonne>ddd</colonne>
<colonne>26</colonne>
</ligne>
….
</Table>
Nom Prénom Age
ccc ddd 26
… … …
…. …. ….
Etudiants
Mappage basé sur les tables
Mappage Relationnel-Objet
<Commande>
<Ncommande>1234</Ncommande>
<Client>Gallagher Industries</Client>
<Date>29.10.00</Date>
<Article numéro="1">
<Lot>A-10</Lot>
<Quantité>12</Quantité>
<Prix>10.95</Prix>
</Article>
<Article numéro="2">
<Lot>B-43</Lot>
<Quantité>600</Quantité>
<Prix>3.99</Prix>
</Article>
</Commande>
EXEMPLE
Transforme un document XML en un arbre d’objets spécifiques aux
données contenues dans le document
Mappage Relationnel-Objet
object Commande {
Ncommande = 1234;
Client = "Gallagher Industries";
date = 29.10.00;
Articles = {ptrs to Article objects};
}
object Article {
numéro = 1;
Lot = "A-10";
quantité = 12;
prix = 10.95;
}
object Article {
numéro = 2;
Lot = “B-43";
quantité = 600;
prix = 3.95;
}
Stocker dans un système de
fichiers
Stocker dans des BLOBs
(Binary Large OBject)
 Stocker en tant que simple
fichier dans le
gestionnaire de fichiers.
 GREP et SED (Unix et
Linux)
 Bons résultats si
l’ensemble des documents
à stocker est réduit.
 Consiste à stocker les
documents XML en tant
que BLOBs dans une
base de données
relationnelles.
 Permet d’indexer plus
efficacement les
documents XML.
Stockage et indexation des documents XML
<!ELEMENT Brochure (Titre, Auteur, Contenu)>
<!ELEMENT Titre (#PCDATA)>
<!ELEMENT Auteur (#PCDATA)>
<!ELEMENT Contenu (#PCDATA)>
Auteurs
Auteur
BrochureID
Brochures
BrochureID
BLOB
Auteur BrochureID
Victor Sabo 23
… …
Cesar roy 34
Auteurs
BrochureID BLOB
23 XML1
23 XML3
34 XML2
Brochures
BD
… …
Table index Table document
Stockage et indexation des documents XML
DTD se présente comme suit :
Les langages d’interrogation
 Langages basés sur un modèle donné (template-based langages)
<?xml version="1.0"?>
<InfoLivre>
<SelectStmt>
SELECT titre, auteur,
edition
FROM Livre
</SelectStmt>
<Livre>
<Titre>$titre</Titre>
< Auteur>$auteur</Auteur>
<Edition>$edition</Edition>
</Livre>
</InfoLivre>
 Aucun mappage n’est défini entre le document XML et la base de données.
 Les instructions SELECT sont incluses dans le modèle.
 Les résultats sont traités par un logiciel de transfert de données.
<?xml version="1.0"?>
<InfoLivre>
<Livres>
<Livre>
<Titre>XML et base de
données </Titre>
<Auteur>C. Kelvin</Auteur>
<Edition>Eyrolles</Edition>
</Livre>
…
</Livres>
</InfoLivre>
 Langages basés sur le SQL (SQL-based langages)
Les langages d’interrogation (suite)
 Utilisent les clauses SELECT, le résultat obtenu est transformé en XML.
 Les données sont transformées selon le mappage relationnel-objet.
 Les résultats sont traités par un logiciel de transfert de données.
 Langages d’interrogation XML
 Ces langages interrogent directement les documents XML.
 Pour interroger une BD relationnelle les données doivent être
transformées au format XML (mapping).
 De ce fait, on interroge les documents XML virtuels obtenus.
Base de Données Oracle
 Les utilitaires "XML-SQL" d'Oracle
correspondent à des classes Java offrant deux
principales fonctionnalités :
 Extraire des données d'une base au format
XML.
 Insérer des données au format XML dans une
base.
 Cet outil est fourni en standard à partir
d'Oracle 8i (version 8.1.7 et plus) ainsi que
sous Oracle 9i.
Base de Données Oracle
 De la base vers le schéma XML :
La classe "OracleXMLQuery" permet de
construire un document XML à partir d'une
requête SQL. Voici un exemple basique de
son utilisation :
 Extraction de données
import java.sql.*;
import oracle.xml.sql.query.*;
import oracle.jdbc.driver.*;
public class sample
{
public static void main(String args[]) throws Exception
{
DriverManager.registerDriver(new
oracle.jdbc.driver.OracleDriver());
Connection conn =
DriverManager.getConnection("jdbc:oracle:oci8:scott/tiger@");
OracleXMLQuery qry = new OracleXMLQuery(conn,
"select * from employes");
System.out.println(qry.getXMLString());
conn.close();
}
}
Base de Données Oracle
CREATE TABLE employes (
EMPNO NUMBER,
ENAME VARCHAR2(20),
JOB VARCHAR2(20),
MGR NUMBER,
HIREDATE DATE,
SAL NUMBER,
DEPTNO NUMBER
);
Si nous considérons que la table "employes" a été créee par
lescript suivant :
<?xml version='1.0'?>
<ROWSET>
<ROW num="1">
<EMPNO>7369</EMPNO>
<ENAME>Smith</ENAME>
<JOB>CLERK</JOB>
<MGR>7902</MGR>
<HIREDATE>12/17/1980
0:0:0</HIREDATE>
<SAL>800</SAL>
<DEPTNO>20</DEPTNO>
</ROW>
<!-- rangées supplémentaires... -->
</ROWSET>
Requête "select * from
employes", notre fichier XML
ressemblera à ceci :
Base de Données Oracle
Base de Données Oracle
 Document XML conçu grâce à l'exploitation d'un
resultset JDBC par la classe "OracleXMLQuery".
 Noms des balises XML issus des noms de
colonnes de la requête SQL.
 <ROWSET>" constitue le tag "racine" du
document XML, il entoure chacun des tags
"<ROW...> (comportant un numéro), qui eux-
mêmes délimitent chacun des tuples ramenés par
la requête.
Base de Données Oracle
CREATE TYPE AddressType AS OBJECT (
STREET VARCHAR2(20),
CITY VARCHAR2(20),
STATE CHAR(2),
ZIP VARCHAR2(10)
);
CREATE TYPE EmployesType AS OBJECT
(
EMPNO NUMBER,
ENAME VARCHAR2(20),
SALARY NUMBER,
EMPADDR AddressType
);
Exemple créé sous forme d'un objet:
Base de Données Oracle
On retrouve "EmployesType" dans une collection de type :
CREATE TYPE EmployeeListType AS TABLE OF
EmployeeType;
Enfin, la table "dept" est créee, elle compte parmi ses attributs un objet
et une collection d'objets :
CREATE TABLE dept (
DEPTNO NUMBER,
DEPTNAME VARCHAR2(20),
DEPTADDR AddressType,
EMPLIST EmployeeListType
);
Base de Données Oracle
 Stockage : du schéma XML vers la base
 Classe Oracle prévue "OracleXMLSave".
 Capable d'insérer, mettre à jour et supprimer des
données XML.
 Les documents XML complexes nécessitent la
création d’une structure Oracle (objet, vue)
correspondant à l'architecture de ces documents.
 Pas de "mapping" entre les attributs XML (les
tags) et les champs de la base de données.
 D'où la nécessité de créer une "structure
d'accueil " sur mesure pour les documents XML.
Prenons les tags XML suivants :
<DEPT>
<DEPTNO>100</DEPTNO>
<DEPTNAME>Sports</DEPTNAME>
<DEPTADDR>Paris</DEPTADDR>
<EMPLIST>
<EMPLIST_ITEM>
<EMPNO>7369</EMPNO>
<ENAME>Sebastien</ENAME>
<SALARY>10000</SALARY>
</EMPLIST_ITEM>
<!-- employes supplementaires... -->
</EMPLIST>
</DEPT>
Base de Données Oracle
Base de Données Oracle
 “emp_typ”
Informations liées à l'employé (identifiant, nom,
salaire), correspond à <EMPLIST_ITEM>.
 "empc_type" :
Décrira une "collection" d'employés, correspond à
<EMPLIST>.
"dept_type" :
Définit un département, correspond à <DEPT>.
des liaisons existent entre chacun de ces types, ils
s'imbriquent ici de la manière suivante :
CREATE OR REPLACE TYPE emp_type AS OBJECT (
empno NUMBER(4),
ename VARCHAR2(50),
salary NUMBER(6,2)
);
CREATE TYPE empc_type AS TABLE OF emp_type;
CREATE TYPE dept_type AS OBJECT (
deptno NUMBER(3),
deptname VARCHAR2(50),
deptaddr VARCHAR2(50),
employes EMPC_TYPE
);
Base de Données Oracle
Les types étant définis, les données XML peuvent être importées et la
table (objet) Oracle peut être créee :
CREATE TABLE obj_dept OF dept_type
NESTED TABLE employes STORE as nested_emp_table;
Pour conserver une structure de tables relationnelles il faut alors passer
par une vue :
CREATE VIEW v_dept OF dept_type WITH OBJECT OID(deptno) AS
SELECT d.deptno, d.deptname, d.deptaddr,
CAST ( MULTISET ( SELECT e.empno, e.ename, e.salary
FROM emp e WHERE e.deptno = d.deptno)
AS empc_type)
FROM dept d;
Base de Données Oracle
En résumé :
Il existe d'autres moyens d'interfacer XML et une base
de données. Cela dépend du SGBD utilisé ainsi que de
la technologie que l'on souhaite employer.
Du Perl en passant par le Java, les bases de données
relationnelles multiplient leurs interactions avec XML,
de quoi freiner un peu plus la progression des bases
natives XML ?
Base de Données Oracle
Base de données Oracle
Type de donnée XMLTYPE
Type objet prédéfini qui peut contenir tout un document XML en
entier.
On peut stocker un document XML dans une colonne d’une table ou
d’une vue. Examinons la création de la table suivante :
CREATE TABLE warehouses(
warehouse_id NUMBER(3),
warehouse_spec SYS.XMLTYPE,
warehouse_name VARCHAR2(35),
location_id NUMBER(4));
 Table que nous venons de créer sera stocker sous
forme CLOB (Character Large OBject) ou BLOB
(Binary Large OBject).
 Une autre option est offerte qu’on peut appeler
stockage relationnel-objet.
 Stockage sous forme d’objet relationnel le système
a recours à des index en B-Arbre.
 Stockage en CLOB/BLOB, des index textes
permettant l’interrogation avec des commandes
SQL spécifiques.
Stockage du XML sous Oracle
 XPath
 Permet d’accéder à une partie d'un document XML
 Exploité par XPointer et XSLT, XPath est une
recommandation du W3C.
 Fruit de la collaboration entre les "XSL et XPointer
Working Groups", XPath doit permettre de combler
certains besoins communs de ces deux techniques :
accéder à un endroit spéficique d'un arbre XML.
 XPath n'est pas seulement un langage
"d'adressage", il est également constitué d'un
ensemble de fonctions (chaînes de caractères,
booléennes, numériques)
Base de données Oracle
Requêtes sous Oracle : XPath et ClobVal
select e.poDoc.getClobval() AS poXML
from po_xml_tab e;
POXML
<?xml version="1.0"?>
<PO pono="2">
<PNAME>Po_2</PNAME>
<CUSTNAME>Nance</CUSTNAME>
<SHIPADDR>
<STREET>2 Avocet Drive</STREET>
<CITY>Redwood Shores</CITY>
<STATE>CA</STATE>
</SHIPADDR>
</PO>
XPATH
 Appel a SQL en Utilisant Xpath
SELECT w.warehouse_spec.extract
('/Warehouse/Building/text()').getStringVal()
"Building"
FROM warehouses w
-------------------------
Building
Base de données Oracle
 Enrichissement du langage SQL
INSERT into warehouses (warehouse_id, warehouse_spec)
VALUES (1001, sys.XMLType.createXML(
'<Warehouse whNo="100">
<Building>Owned</Building>
</Warehouse>'));
 Autres commandes :
XMLSchema, ExistNode, XMLTable,
XMLTransform,
Dépot XML
Dépôt XML (XML Repository) :
 Vue gestionnaire de fichier des documents XML
dans la base : Propriétaire, date de modification,
version, contrôle d'accès.
 Accessible à travers WebDAV, FTP, JNDI et SQL
(en utilisant certains opérateurs spécifiques).
Benchmarks
 Mark : XML Benchmark Project de Busse,
Carey, Florescu, Kersten, Manolescu, Schmidt, et
Waas. C'est un benchmark destiné aux bases de
données XML natives.
 Xmach-1 : XML Data Management Benchmark
de Timo Boehme et Erhard Rahm de l'université de
Leipzig en Allemagne.
Certains BenchMarks
Benchmarks
 Xmach-1 le plus récent et le plus connu.
 Performances indépendantes des schémas
 Les choix des index est déterminant et influence
le résultats
 Formatage relationnel des données XML plus
adapté pour les grands volumes de documents
Futures Développements et conférences
 Amélioration du XML (XInclude candidate à une
recommandation.
 Description formelle d'un schéma XML (types de
données et contraintes de structure).
 Standardisation d'un langage de requête, XPath,
Xquery, SQLX (Oracle et IBM), etc
 Futures développements
Futures Développements et conférences
Conférences
 EEXTT2002 (Efficiency and Effectiveness of XML
Tools, and Techniques) (WorkShop du VLDB
20-23 août 2002), Hong Kong, Chine
Sujets abordés : Stockage des données XML,
Indexation et extraction, les langages de requêtes
 XML Europe 2002 : "Down To Business: Getting
Serious About XML" du 20 au 23 mai 2002 à Barcelone
en Espagne
Sujets abordés : Base de données et schémas de
documents, Outils de recherche textuelles pour
des documents XML complexes
Conclusion
 Produits en évolution
 Il reste beaucoup de choses à faire
(standardisation des langages de requêtes,
amélioration des performances, etc.).
 Plusieurs opportunités de recherche sont
offertes étant donné l’intérêt tardif de la
communauté des BD pour XML.
Références
 Ronald, Bourret. “XML and Databases”, [En ligne]
http://www.rpbourret.com/xml/XMLAndDatabases.htm
 World Wide Web Consortium (W3C), [En ligne] http://www.w3.org/
 Williams, Kevin et autres. "XML et les bases de données", Paris, Eyrolles,
2001, XXII, 1082 p
 McLaughlin, Brett. “Java et XML”, Paris, Eyrolles, 2001, 472 p.
 Obasanjo, Dare. "An exploration of XML in Database Management
Systems « [En ligne]
http://www.prism.gatech.edu/~gte855q/StoringAndQueryingXML.html
 Conrad, Andrew,"A Survey of Microsoft SQL Server 2000 XML Features",
[En ligne] http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/dnexxml/html/xml07162001.asp
Références (suite)
 Oracle, "Oracle9i Application Developer's Guide – XML", Release 1 (9.0.1)
[En ligne] http://download-
west.oracle.com/otndoc/oracle9i/901_doc/appdev.901/a88894/adx05xml.htm
 Software AG, "XML Database and Persistency Engines", [En Ligne]
http://www.softwareagusa.com/images/news/XML Database and Persistency
Engines Report (Dist).pdf
 B-Bop, Xfinity™ Server, [En ligne]
 http://www.b-bop.com/products_xfinity_server.htm
Böhme, Timo & Erhard Rahm, Université de Leipzig, Allemagne, [En ligne]
http://www.research.microsoft.com/~jamesrh/hpts2001/submissions/ErhardRahm.
pdf

Contenu connexe

Similaire à xml_bd_ouahdikrid.ppt

7. information modelling
7. information modelling7. information modelling
7. information modellingsugogo
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panoramacamelus
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panoramahrenel
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panoramallobel
 
Presentation dublincore l3
Presentation dublincore l3Presentation dublincore l3
Presentation dublincore l3DublinCore2b
 
Cours de C++, en français, 2002 - Cours 3.3
Cours de C++, en français, 2002 - Cours 3.3Cours de C++, en français, 2002 - Cours 3.3
Cours de C++, en français, 2002 - Cours 3.3Laurent BUNIET
 
Cours de C++, en français, 2002 - Cours 3.4
Cours de C++, en français, 2002 - Cours 3.4Cours de C++, en français, 2002 - Cours 3.4
Cours de C++, en français, 2002 - Cours 3.4Laurent BUNIET
 
Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQLebiznext
 
Benchmarking NoSQL DataBase dans le cadre d'un projet IoT
Benchmarking NoSQL DataBase dans le cadre d'un projet IoTBenchmarking NoSQL DataBase dans le cadre d'un projet IoT
Benchmarking NoSQL DataBase dans le cadre d'un projet IoTCHAKER ALLAOUI
 
comment realiser un Service Web
comment realiser un Service Web comment realiser un Service Web
comment realiser un Service Web Nazih Heni
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLHervé Leclerc
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de donnéesAbdoulaye Dieng
 
GUSPQC Québec Avril 2018 - La passerelle de donnees locale
GUSPQC Québec Avril 2018 - La passerelle de donnees localeGUSPQC Québec Avril 2018 - La passerelle de donnees locale
GUSPQC Québec Avril 2018 - La passerelle de donnees localeNicolas Georgeault
 

Similaire à xml_bd_ouahdikrid.ppt (20)

7. information modelling
7. information modelling7. information modelling
7. information modelling
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
1 introduction
1 introduction1 introduction
1 introduction
 
XML
XMLXML
XML
 
Presentation dublincore l3
Presentation dublincore l3Presentation dublincore l3
Presentation dublincore l3
 
Cours de C++, en français, 2002 - Cours 3.3
Cours de C++, en français, 2002 - Cours 3.3Cours de C++, en français, 2002 - Cours 3.3
Cours de C++, en français, 2002 - Cours 3.3
 
Cours de C++, en français, 2002 - Cours 3.4
Cours de C++, en français, 2002 - Cours 3.4Cours de C++, en français, 2002 - Cours 3.4
Cours de C++, en français, 2002 - Cours 3.4
 
Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQL
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
 
Benchmarking NoSQL DataBase dans le cadre d'un projet IoT
Benchmarking NoSQL DataBase dans le cadre d'un projet IoTBenchmarking NoSQL DataBase dans le cadre d'un projet IoT
Benchmarking NoSQL DataBase dans le cadre d'un projet IoT
 
comment realiser un Service Web
comment realiser un Service Web comment realiser un Service Web
comment realiser un Service Web
 
Introduction à XML
Introduction à XMLIntroduction à XML
Introduction à XML
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQL
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de données
 
Fiche 1-SQL
Fiche 1-SQLFiche 1-SQL
Fiche 1-SQL
 
GUSPQC Québec Avril 2018 - La passerelle de donnees locale
GUSPQC Québec Avril 2018 - La passerelle de donnees localeGUSPQC Québec Avril 2018 - La passerelle de donnees locale
GUSPQC Québec Avril 2018 - La passerelle de donnees locale
 
MariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQLMariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQL
 

Dernier

L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLElebaobabbleu
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfAmgdoulHatim
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Technologia Formation
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkRefRama
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxabdououanighd
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsJaouadMhirach
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetJeanYvesMoine
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKNassimaMdh
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxRayane619450
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfssuserc72852
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...Universidad Complutense de Madrid
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxhamzagame
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxikospam0
 
Chapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon CoursChapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon Coursebenezerngoran
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxShinyaHilalYamanaka
 

Dernier (20)

L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénients
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
Chapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon CoursChapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon Cours
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 

xml_bd_ouahdikrid.ppt

  • 1. XML et les bases de données INF 7115 Automne 2002 Robert. GODIN Par Driss OUAHDI Hayat KRID 16 Décembre 2002
  • 2. Plan  Introduction  Présentation XML  Structure du document XML, DTD, XML Schema, Feuilles de Style.  XML et les Bases de données:  Bases de données XML-Enabled  Mappage  Stockage et indexation des documents XML  Les langages d’interrogation  XML et Base de données Oracle  Futures Développements et conférences  Benchmarks  Conclusion
  • 3.  XML Standard d’échange de données universel.  Intégration des données et méta-données  Les BD ne peuvent rester indifférentes :  Nécessité de stocker les documents XML  Nécessité de pouvoir interroger ces documents  Quel modèle de données ?  Quels langages d'interrogation ? Introduction XML et BD
  • 4.  Recherche textuelle. Indexation approchée.  Accès type moteur de recherche.  Performances attendues « moyenne » pour une volumétrie « forte <Mémo> S.V.P soyez sûr que vous êtes au <Lieu>SH-2040</Lieu> à <Heure>17:30</Heure> pour assister au cours <Cours>INF7115</Cours> </Mémo> Exemple Modèles de documents XML  Approche « Document »  Structure moins organisée et un contenu de données mixtes
  • 5.  Approche « Donnée »  Structure plus organisée et contenu de données non mixtes.  Compatibilité SGBDR existants  Intégrité sémantique  Indexation exacte  Adapté au transactionnel et décisionnel  Performances attendues « moyenne » à « forte » pour une volumétrie « moyenne » Modèles de documents XML <Mémo> <Lieu>SH-2040</Lieu> <Heure>17:30</Heure> <Cours>INF7115</Cours> </Mémo> Exemple
  • 6.  DTD : (Document Type Definition) est une déclaration de la structure type à laquelle le document XML doit se conformer (c’est la grammaire du document XML). Limite des DTD  Fondement des DTD hérités des DTD de SGML  Description limitée des documents (Typage des PCDATA)  Exprimé dans un langage autre que XML Concepts de base
  • 7.   SCHEMA : L'objectif des Schémas est de définir des contraintes sur des classes de Documents conformes à un même modèle.  Reprend les acquis des DTD mais utilise la syntaxe XML au lieu des expressions régulières SGML. Concepts de base
  • 8.  DOM :  Document Object Model (DOM) : définit structure logique d'un document.  API destinée au modèle objet de document  Offre une représentation des documents XML sous forme d’arbre. Concepts de base
  • 9.  XSL : (eXtensible Stylesheet Language) est un langage qui transforme et traduit les données XML d´un format à un autre.  XSLT : (eXstensible Stylesheet Langage Transform) peut servir à styliser les documents XML, et à produire des documents HTML, des supports WML ou tout autre type de document textuel. Concepts de base
  • 10. XML et BD, quels Intérêts?  XML fournit une méthode de représentation des données structurées sans ajout d’informations.  Étant tout simplement des fichiers textuels, les documents XML peuvent être produits et utilisés par d’autres systèmes.
  • 11. XML et BD, quels Intérêts?  XML peut être utilisé par des outils, déjà disponibles ou en début de diffusion, permettant des comportements plus recherchés.  Les données sérialisées au format XML fournissent la souplesse nécessaire à la transmission et à la présentation des données.
  • 12. Définition  Ce sont des BD (souvent relationnelles) avec des fonctionnalités facilitant le transfert et l’échange des données avec des documents XML.  Adaptées surtout pour le stockage et la manipulation des documents orientés-Données.  L’échange des données entre les documents XML et la BD nécessite le passage par l’étape de mappage (mapping) des données. Bases de donnée XML-Enabled
  • 13. Mise en correspondance entre le schéma XML et le schéma de la base de donnée. Deux types de mappages :  Mappage basé sur les tables (Table-Based Mapping)  Mappage Relationnel-Objet (Object- Relationnel Mapping)  Mappage Bases de donnée XML-Enabled
  • 15. Mappage Relationnel-Objet <Commande> <Ncommande>1234</Ncommande> <Client>Gallagher Industries</Client> <Date>29.10.00</Date> <Article numéro="1"> <Lot>A-10</Lot> <Quantité>12</Quantité> <Prix>10.95</Prix> </Article> <Article numéro="2"> <Lot>B-43</Lot> <Quantité>600</Quantité> <Prix>3.99</Prix> </Article> </Commande> EXEMPLE
  • 16. Transforme un document XML en un arbre d’objets spécifiques aux données contenues dans le document Mappage Relationnel-Objet object Commande { Ncommande = 1234; Client = "Gallagher Industries"; date = 29.10.00; Articles = {ptrs to Article objects}; } object Article { numéro = 1; Lot = "A-10"; quantité = 12; prix = 10.95; } object Article { numéro = 2; Lot = “B-43"; quantité = 600; prix = 3.95; }
  • 17. Stocker dans un système de fichiers Stocker dans des BLOBs (Binary Large OBject)  Stocker en tant que simple fichier dans le gestionnaire de fichiers.  GREP et SED (Unix et Linux)  Bons résultats si l’ensemble des documents à stocker est réduit.  Consiste à stocker les documents XML en tant que BLOBs dans une base de données relationnelles.  Permet d’indexer plus efficacement les documents XML. Stockage et indexation des documents XML
  • 18. <!ELEMENT Brochure (Titre, Auteur, Contenu)> <!ELEMENT Titre (#PCDATA)> <!ELEMENT Auteur (#PCDATA)> <!ELEMENT Contenu (#PCDATA)> Auteurs Auteur BrochureID Brochures BrochureID BLOB Auteur BrochureID Victor Sabo 23 … … Cesar roy 34 Auteurs BrochureID BLOB 23 XML1 23 XML3 34 XML2 Brochures BD … … Table index Table document Stockage et indexation des documents XML DTD se présente comme suit :
  • 19. Les langages d’interrogation  Langages basés sur un modèle donné (template-based langages) <?xml version="1.0"?> <InfoLivre> <SelectStmt> SELECT titre, auteur, edition FROM Livre </SelectStmt> <Livre> <Titre>$titre</Titre> < Auteur>$auteur</Auteur> <Edition>$edition</Edition> </Livre> </InfoLivre>  Aucun mappage n’est défini entre le document XML et la base de données.  Les instructions SELECT sont incluses dans le modèle.  Les résultats sont traités par un logiciel de transfert de données. <?xml version="1.0"?> <InfoLivre> <Livres> <Livre> <Titre>XML et base de données </Titre> <Auteur>C. Kelvin</Auteur> <Edition>Eyrolles</Edition> </Livre> … </Livres> </InfoLivre>
  • 20.  Langages basés sur le SQL (SQL-based langages) Les langages d’interrogation (suite)  Utilisent les clauses SELECT, le résultat obtenu est transformé en XML.  Les données sont transformées selon le mappage relationnel-objet.  Les résultats sont traités par un logiciel de transfert de données.  Langages d’interrogation XML  Ces langages interrogent directement les documents XML.  Pour interroger une BD relationnelle les données doivent être transformées au format XML (mapping).  De ce fait, on interroge les documents XML virtuels obtenus.
  • 21. Base de Données Oracle  Les utilitaires "XML-SQL" d'Oracle correspondent à des classes Java offrant deux principales fonctionnalités :  Extraire des données d'une base au format XML.  Insérer des données au format XML dans une base.  Cet outil est fourni en standard à partir d'Oracle 8i (version 8.1.7 et plus) ainsi que sous Oracle 9i.
  • 22. Base de Données Oracle  De la base vers le schéma XML : La classe "OracleXMLQuery" permet de construire un document XML à partir d'une requête SQL. Voici un exemple basique de son utilisation :  Extraction de données
  • 23. import java.sql.*; import oracle.xml.sql.query.*; import oracle.jdbc.driver.*; public class sample { public static void main(String args[]) throws Exception { DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); Connection conn = DriverManager.getConnection("jdbc:oracle:oci8:scott/tiger@"); OracleXMLQuery qry = new OracleXMLQuery(conn, "select * from employes"); System.out.println(qry.getXMLString()); conn.close(); } } Base de Données Oracle
  • 24. CREATE TABLE employes ( EMPNO NUMBER, ENAME VARCHAR2(20), JOB VARCHAR2(20), MGR NUMBER, HIREDATE DATE, SAL NUMBER, DEPTNO NUMBER ); Si nous considérons que la table "employes" a été créee par lescript suivant : <?xml version='1.0'?> <ROWSET> <ROW num="1"> <EMPNO>7369</EMPNO> <ENAME>Smith</ENAME> <JOB>CLERK</JOB> <MGR>7902</MGR> <HIREDATE>12/17/1980 0:0:0</HIREDATE> <SAL>800</SAL> <DEPTNO>20</DEPTNO> </ROW> <!-- rangées supplémentaires... --> </ROWSET> Requête "select * from employes", notre fichier XML ressemblera à ceci : Base de Données Oracle
  • 25. Base de Données Oracle  Document XML conçu grâce à l'exploitation d'un resultset JDBC par la classe "OracleXMLQuery".  Noms des balises XML issus des noms de colonnes de la requête SQL.  <ROWSET>" constitue le tag "racine" du document XML, il entoure chacun des tags "<ROW...> (comportant un numéro), qui eux- mêmes délimitent chacun des tuples ramenés par la requête.
  • 26. Base de Données Oracle CREATE TYPE AddressType AS OBJECT ( STREET VARCHAR2(20), CITY VARCHAR2(20), STATE CHAR(2), ZIP VARCHAR2(10) ); CREATE TYPE EmployesType AS OBJECT ( EMPNO NUMBER, ENAME VARCHAR2(20), SALARY NUMBER, EMPADDR AddressType ); Exemple créé sous forme d'un objet:
  • 27. Base de Données Oracle On retrouve "EmployesType" dans une collection de type : CREATE TYPE EmployeeListType AS TABLE OF EmployeeType; Enfin, la table "dept" est créee, elle compte parmi ses attributs un objet et une collection d'objets : CREATE TABLE dept ( DEPTNO NUMBER, DEPTNAME VARCHAR2(20), DEPTADDR AddressType, EMPLIST EmployeeListType );
  • 28. Base de Données Oracle  Stockage : du schéma XML vers la base  Classe Oracle prévue "OracleXMLSave".  Capable d'insérer, mettre à jour et supprimer des données XML.  Les documents XML complexes nécessitent la création d’une structure Oracle (objet, vue) correspondant à l'architecture de ces documents.  Pas de "mapping" entre les attributs XML (les tags) et les champs de la base de données.  D'où la nécessité de créer une "structure d'accueil " sur mesure pour les documents XML.
  • 29. Prenons les tags XML suivants : <DEPT> <DEPTNO>100</DEPTNO> <DEPTNAME>Sports</DEPTNAME> <DEPTADDR>Paris</DEPTADDR> <EMPLIST> <EMPLIST_ITEM> <EMPNO>7369</EMPNO> <ENAME>Sebastien</ENAME> <SALARY>10000</SALARY> </EMPLIST_ITEM> <!-- employes supplementaires... --> </EMPLIST> </DEPT> Base de Données Oracle
  • 30. Base de Données Oracle  “emp_typ” Informations liées à l'employé (identifiant, nom, salaire), correspond à <EMPLIST_ITEM>.  "empc_type" : Décrira une "collection" d'employés, correspond à <EMPLIST>. "dept_type" : Définit un département, correspond à <DEPT>. des liaisons existent entre chacun de ces types, ils s'imbriquent ici de la manière suivante :
  • 31. CREATE OR REPLACE TYPE emp_type AS OBJECT ( empno NUMBER(4), ename VARCHAR2(50), salary NUMBER(6,2) ); CREATE TYPE empc_type AS TABLE OF emp_type; CREATE TYPE dept_type AS OBJECT ( deptno NUMBER(3), deptname VARCHAR2(50), deptaddr VARCHAR2(50), employes EMPC_TYPE ); Base de Données Oracle
  • 32. Les types étant définis, les données XML peuvent être importées et la table (objet) Oracle peut être créee : CREATE TABLE obj_dept OF dept_type NESTED TABLE employes STORE as nested_emp_table; Pour conserver une structure de tables relationnelles il faut alors passer par une vue : CREATE VIEW v_dept OF dept_type WITH OBJECT OID(deptno) AS SELECT d.deptno, d.deptname, d.deptaddr, CAST ( MULTISET ( SELECT e.empno, e.ename, e.salary FROM emp e WHERE e.deptno = d.deptno) AS empc_type) FROM dept d; Base de Données Oracle
  • 33. En résumé : Il existe d'autres moyens d'interfacer XML et une base de données. Cela dépend du SGBD utilisé ainsi que de la technologie que l'on souhaite employer. Du Perl en passant par le Java, les bases de données relationnelles multiplient leurs interactions avec XML, de quoi freiner un peu plus la progression des bases natives XML ? Base de Données Oracle
  • 34. Base de données Oracle Type de donnée XMLTYPE Type objet prédéfini qui peut contenir tout un document XML en entier. On peut stocker un document XML dans une colonne d’une table ou d’une vue. Examinons la création de la table suivante : CREATE TABLE warehouses( warehouse_id NUMBER(3), warehouse_spec SYS.XMLTYPE, warehouse_name VARCHAR2(35), location_id NUMBER(4));
  • 35.  Table que nous venons de créer sera stocker sous forme CLOB (Character Large OBject) ou BLOB (Binary Large OBject).  Une autre option est offerte qu’on peut appeler stockage relationnel-objet.  Stockage sous forme d’objet relationnel le système a recours à des index en B-Arbre.  Stockage en CLOB/BLOB, des index textes permettant l’interrogation avec des commandes SQL spécifiques. Stockage du XML sous Oracle
  • 36.  XPath  Permet d’accéder à une partie d'un document XML  Exploité par XPointer et XSLT, XPath est une recommandation du W3C.  Fruit de la collaboration entre les "XSL et XPointer Working Groups", XPath doit permettre de combler certains besoins communs de ces deux techniques : accéder à un endroit spéficique d'un arbre XML.  XPath n'est pas seulement un langage "d'adressage", il est également constitué d'un ensemble de fonctions (chaînes de caractères, booléennes, numériques) Base de données Oracle
  • 37. Requêtes sous Oracle : XPath et ClobVal select e.poDoc.getClobval() AS poXML from po_xml_tab e; POXML <?xml version="1.0"?> <PO pono="2"> <PNAME>Po_2</PNAME> <CUSTNAME>Nance</CUSTNAME> <SHIPADDR> <STREET>2 Avocet Drive</STREET> <CITY>Redwood Shores</CITY> <STATE>CA</STATE> </SHIPADDR> </PO>
  • 38. XPATH  Appel a SQL en Utilisant Xpath SELECT w.warehouse_spec.extract ('/Warehouse/Building/text()').getStringVal() "Building" FROM warehouses w ------------------------- Building
  • 39. Base de données Oracle  Enrichissement du langage SQL INSERT into warehouses (warehouse_id, warehouse_spec) VALUES (1001, sys.XMLType.createXML( '<Warehouse whNo="100"> <Building>Owned</Building> </Warehouse>'));  Autres commandes : XMLSchema, ExistNode, XMLTable, XMLTransform,
  • 40. Dépot XML Dépôt XML (XML Repository) :  Vue gestionnaire de fichier des documents XML dans la base : Propriétaire, date de modification, version, contrôle d'accès.  Accessible à travers WebDAV, FTP, JNDI et SQL (en utilisant certains opérateurs spécifiques).
  • 41. Benchmarks  Mark : XML Benchmark Project de Busse, Carey, Florescu, Kersten, Manolescu, Schmidt, et Waas. C'est un benchmark destiné aux bases de données XML natives.  Xmach-1 : XML Data Management Benchmark de Timo Boehme et Erhard Rahm de l'université de Leipzig en Allemagne. Certains BenchMarks
  • 42. Benchmarks  Xmach-1 le plus récent et le plus connu.  Performances indépendantes des schémas  Les choix des index est déterminant et influence le résultats  Formatage relationnel des données XML plus adapté pour les grands volumes de documents
  • 43. Futures Développements et conférences  Amélioration du XML (XInclude candidate à une recommandation.  Description formelle d'un schéma XML (types de données et contraintes de structure).  Standardisation d'un langage de requête, XPath, Xquery, SQLX (Oracle et IBM), etc  Futures développements
  • 44. Futures Développements et conférences Conférences  EEXTT2002 (Efficiency and Effectiveness of XML Tools, and Techniques) (WorkShop du VLDB 20-23 août 2002), Hong Kong, Chine Sujets abordés : Stockage des données XML, Indexation et extraction, les langages de requêtes  XML Europe 2002 : "Down To Business: Getting Serious About XML" du 20 au 23 mai 2002 à Barcelone en Espagne Sujets abordés : Base de données et schémas de documents, Outils de recherche textuelles pour des documents XML complexes
  • 45. Conclusion  Produits en évolution  Il reste beaucoup de choses à faire (standardisation des langages de requêtes, amélioration des performances, etc.).  Plusieurs opportunités de recherche sont offertes étant donné l’intérêt tardif de la communauté des BD pour XML.
  • 46. Références  Ronald, Bourret. “XML and Databases”, [En ligne] http://www.rpbourret.com/xml/XMLAndDatabases.htm  World Wide Web Consortium (W3C), [En ligne] http://www.w3.org/  Williams, Kevin et autres. "XML et les bases de données", Paris, Eyrolles, 2001, XXII, 1082 p  McLaughlin, Brett. “Java et XML”, Paris, Eyrolles, 2001, 472 p.  Obasanjo, Dare. "An exploration of XML in Database Management Systems « [En ligne] http://www.prism.gatech.edu/~gte855q/StoringAndQueryingXML.html  Conrad, Andrew,"A Survey of Microsoft SQL Server 2000 XML Features", [En ligne] http://msdn.microsoft.com/library/default.asp?url=/library/en- us/dnexxml/html/xml07162001.asp
  • 47. Références (suite)  Oracle, "Oracle9i Application Developer's Guide – XML", Release 1 (9.0.1) [En ligne] http://download- west.oracle.com/otndoc/oracle9i/901_doc/appdev.901/a88894/adx05xml.htm  Software AG, "XML Database and Persistency Engines", [En Ligne] http://www.softwareagusa.com/images/news/XML Database and Persistency Engines Report (Dist).pdf  B-Bop, Xfinity™ Server, [En ligne]  http://www.b-bop.com/products_xfinity_server.htm Böhme, Timo & Erhard Rahm, Université de Leipzig, Allemagne, [En ligne] http://www.research.microsoft.com/~jamesrh/hpts2001/submissions/ErhardRahm. pdf