B. Defude - INT Evry - 2003 1

XPATH XQUERY DOM XML
Niveau
logique
Niveau
physique
SGBDR
SGBD OO
LDAP SGF Système
natif

Données :
Plat vs structuré; petit ou volumineux; avec ou sans
schéma, ...
Requêtes :
Avec ou sans maj; accès full-text; navigationnel;
relationnel (jointures, ...)
Besoins applicatifs
Transactions, contrôle de concurrence, réplication, ...
Plat :
Un document XML est stocké dans un BLOB
Simple, mais pas de requêtes possibles et maj difficiles
Natif
Définir un nouveau SGBD adapté au stockage de
documents XML
Redéfinir toutes les fonctions classiques d’un SGBD
(transactions, concurrence, …)
Par conversion ou « mapping »
Utiliser un SGBD existant (souvent relationnel) pour
stocker des documents XML
Nécessite certaines extensions (index spécifiques par
exemple)
B. Defude - INT Evry - 2003 2
!
Besoins
Représentation concise des documents
Support efficace des API XML
Possibilité de maj données et structure
Correspondance entre structure d’arbre et
des pages physiques
De nombreuses possibilités
"
#!!
APPLI
ENTETE LISTE_FORM
FORMULAIRETITRE UID
NOM_TABLE
ATTRIBUT
MonAppli Citcom/citcom@MICA
producteurs
MODE
@INS
vins
MODE
@NOR
ANNEE CRU
FORMULAIRE
NOM_TABLE
ATTRIBUT
$
%
Un placement physique ne peut être optimal
pour toutes les requêtes possibles
Besoin de plusieurs index
XML a besoin d’index
Sur les valeurs
Sur la structure (navigation)
Full-text (mots-clés)
&
'()(!
YOO?GoXML
PartielOODOM/SAXADABASTamino
YOODOM/XSLTSGBDOOeXcelon
NONXML:DB
XML:RPC
XINDICE
Bas niveauNATIX
YOO?XYLEME
XQUERYXPATHFull-textAPIorigine
B. Defude - INT Evry - 2003 3
*
+,
Stockage : convertir modèle de données XML
vers graphe, relations, objets
Chargement de données : convertir données
XML vers arcs, tuples, objets
Réécriture de requêtes : transformer
requêtes XML vers requêtes cibles
Transformation du résultat : système cible
vers XML
-
.
Défini par l’utilisateur
Générique (fixe)
Dirigé par les données
Dirigé par le schéma
Basé sur un modèle de coût (adaptation aux
besoins réels de l’application)

!/((
Supporté par la majorité des SGBDR commerciaux
Utilisateur spécifie comment transformer éléments
en relations
Flexible mais
Nécessite de connaitre XML et BD Relationnelles
Beaucoup de solutions possibles (laquelle choisir ?)
Maj des données implique maj du mapping

)(01
attribut
mode
nom_table
attribut
formulaire
nom_table mode
formulaire
&0
&1 &2
&3 &4
&5
&6 &7
&8
@valeur @valeur
&9 &10
attribut3&10&7
attribut2&9&7
@valeur1&8&7
mode2&7&2
nom_table1&6&2
@valeur1&5&4
mode2&4&1
nom_table1&3&1
formulaire2&2&0
formulaire1&1&0
élémentNum
fils
cibleSourc
e
ARCS
CRU&10
ANNEE&9
NOR&8
vins&6
INS&5
producteurs&3
valeurNoeu
d
VALEURS
Select V.valeur
From Valeurs V, Arcs A1,
Arcs A2
Where A1.élément=« formulaire »
And A1.cible=A2.source and
A2.élément=« nom_table »
And A2.cible=V.noeud
B. Defude - INT Evry - 2003 4

Stockage générique (éléments)
attribut
mode
nom_table
attribut
formulaire
nom_table mode
formulaire
&0
&1 &2
&3 &4
&5
&6 &7
&8
@valeur @valeur
&9 &10
Select N.cible
From Formulaire F, Nom_table N
Where F.cible=N.source
&2&0
&1&0
cibleSource
FORMULAIRE
Vins&2
Producteur
s
&1
CibleSource
NOM_TABLE

2)(
Ne tient pas compte de régularité dans la structure
Schéma relationnel canonique
Arcs : stocke tous les arcs dans la même relation
Éléments : partitionne horizontalement relation Arcs sur
éléments
Interrogation : nécessite des jointures
MAJ : pas besoin de changer de schéma relationnel
si le schéma des documents XML évolue
32#4(
SQL+full-
text, XPATH
OpenXML
Schéma
annoté
ARCS
User-
defined++
SQL Server
SQL+full-
text, SQL
Via DADCLOB
User-
defined DAD
DB2
Full-text,
XPATH,
SQL
SQL Loader
Par
programme
CLOB
Canonique
User-
defined
Oracle9i
RequêteChargementStockageSGBD
Pas de support XQUERY, MAJ via DOM
"
2,
G. Gardarin; XML des bases de données aux
services web, 2002, Dunod
M. Fernandez, M. Benedikt, J. Freire, A.
Sahuguet; XML and Data Management,
Tutorial WWW2002 Conference, Hawai
D. Chamberlin; Xquery: An XML Query
Language, IBM Systems Journal, Vol41, No4,
2002
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !