Requêtes OLAP sur une base de données XML native - Cercle ...
Requêtes OLAP sur une base de données XML native - Cercle ...
Requêtes OLAP sur une base de données XML native - Cercle ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
5.2 Types <strong>de</strong> <strong>base</strong>s <strong>de</strong> <strong>données</strong> <strong>XML</strong> 42<br />
XPath, XQuery et SQL/<strong>XML</strong>. Enfin, ces systèmes offrent un support <strong>de</strong>s méta-<strong>données</strong>, bien<br />
souvent à l’ai<strong>de</strong> d’<strong>XML</strong> Schéma.<br />
De par leur ancienneté et leur fiabilité, les <strong>base</strong>s <strong>de</strong> <strong>données</strong> relationnelles sont <strong>une</strong> bonne<br />
solution pour gérer <strong>de</strong>s <strong>données</strong> <strong>XML</strong> mais sont malheureusement conceptuellement inadaptées<br />
à l’<strong>XML</strong>. En effet, un document <strong>XML</strong> représente un arbre et n’est pas nécessairement aussi bien<br />
structuré qu’<strong>une</strong> table relationnelle. De plus, la mise en lambeau <strong>de</strong>s documents <strong>XML</strong> conduit<br />
souvent à <strong>une</strong> perte <strong>de</strong> performance et à <strong>une</strong> difficulté d’écriture <strong>de</strong>s requêtes <strong>de</strong> par la structure<br />
relationnelle complexe qu’elle implique.<br />
5.2.2 Bases <strong>de</strong> <strong>données</strong> objet<br />
A la fin <strong>de</strong>s années 80, <strong>une</strong> nouvelle forme <strong>de</strong> système <strong>de</strong> gestion <strong>de</strong> <strong>base</strong> <strong>de</strong> <strong>données</strong> a été<br />
introduite <strong>sur</strong> le marché. Il s’agit <strong>de</strong>s SGDBOO, les Systèmes <strong>de</strong> Gestion <strong>de</strong> Base <strong>de</strong> Données<br />
Orientées-Objet. Ces systèmes gèrent les <strong>données</strong> comme <strong>de</strong>s objets, plutôt que comme <strong>de</strong>s<br />
tables, <strong>de</strong>s lignes ou <strong>de</strong>s colonnes. En effet, il est plus naturel <strong>de</strong> représenter le mon<strong>de</strong> réel<br />
comme <strong>une</strong> collection d’objets, chacun ayant un état et <strong>de</strong>s comportements spécifiques. De plus,<br />
les langages <strong>de</strong> programmations orientés-objet commençant à être à la mo<strong>de</strong> à cette époque, les<br />
développeurs voulaient pouvoir stocker <strong>de</strong> manière persistante leurs objets, ce que les SGDBOO<br />
permettent <strong>de</strong> faire assez proprement.<br />
Malheureusement, les SGDBOO souffrent <strong>de</strong> ne pas avoir un langage <strong>de</strong> requête commun<br />
et standardisé, comme l’est SQL pour les SGBDR. La communauté existante autour <strong>de</strong>s <strong>base</strong>s<br />
<strong>de</strong> <strong>données</strong> orientées-objet a donc décidé d’adapter SQL. Le résultat en est OQL, un langage<br />
permettant uniquement <strong>de</strong> chercher et <strong>de</strong> récupérer <strong>de</strong>s <strong>données</strong>, mais pas <strong>de</strong> les mettre à jour.<br />
Ce type <strong>de</strong> <strong>base</strong> <strong>de</strong> <strong>données</strong> aurait pu être très intéressant pour notre étu<strong>de</strong> car on peut<br />
considérer un document <strong>XML</strong> comme <strong>une</strong> collection hiérarchisée d’objets. En effet, chaque nœud<br />
d’un document <strong>XML</strong> a <strong>une</strong> i<strong>de</strong>ntité unique, comme les objets et un objet peut en inclure d’autres.<br />
Malheureusement, l’ODMG, le groupe <strong>de</strong> gestion <strong>de</strong>s <strong>base</strong>s <strong>de</strong> <strong>données</strong> objets, n’a jamais publié<br />
<strong>de</strong> version permettant <strong>de</strong> gérer l’<strong>XML</strong>. Seul un groupe <strong>de</strong> chercheurs a créé un tel système, <strong>de</strong>venu<br />
libre par la suite, Ozone, qui, selon eux, est totalement compatible avec le DOM du W3C. Il n’y<br />
a donc pas <strong>sur</strong> le marché <strong>de</strong>s SGBDOO commerciaux <strong>de</strong> produit qui intègre un support explicite<br />
du <strong>XML</strong>, au sens d’Ozone. Une <strong>de</strong>s raisons est probablement qu’aucun SGBDOO n’a réussi à<br />
percer parmi les géants comme Microsoft et Oracle, sociétés qui ont intégré <strong>une</strong> gestion partielle<br />
<strong>de</strong>s objets dans leurs systèmes relationnels.<br />
5.2.3 Bases <strong>de</strong> <strong>données</strong> <strong>XML</strong> <strong>native</strong>s<br />
Depuis quelques années, on voit apparaître <strong>sur</strong> le marché <strong>de</strong>s systèmes s’auto-décrivant<br />
comme <strong>de</strong>s <strong>base</strong>s <strong>de</strong> <strong>données</strong> <strong>XML</strong> <strong>native</strong>s. Ces systèmes supportent le document <strong>XML</strong> comme<br />
unité fondamentale <strong>de</strong> stockage, implémentent <strong>de</strong>s langages étudiés pour traiter du <strong>XML</strong> comme<br />
XQuery et stockent les document <strong>XML</strong> suivant un modèle propre, compatible avec <strong>XML</strong>. Le<br />
chapitre suivant est entièrement consacré à ce nouveau type <strong>de</strong> <strong>base</strong> <strong>de</strong> <strong>données</strong>.