• Aucun résultat trouvé

XML et Bases de données. Les bases de données XML natives.

N/A
N/A
Protected

Academic year: 2022

Partager "XML et Bases de données. Les bases de données XML natives."

Copied!
28
0
0

Texte intégral

(1)

XML et Bases de données.

Les bases de données XML natives.

G. Defrain - 19/06/2008

(2)

Introduction.

Une définition de l'expression « Base de données XML Native » :

Une base de données XML native définit un modèle (logique) de document XML [modèle est ici opposé aux données du document], et stocke et retrouve les documents en fonction de ce modèle. Le modèle doit au minimum inclure les éléments, les attributs, les PCDATA et l’ordre interne du document. Quelques exemples de tels modèles sont : le modèle de données de XPath, le glossaire XML Infoset, et les modèles implicites de DOM et des événements de SAX 1.0.

Le document XML est l’unité fondamentale du stockage (logique) dans une base de données XML native, tout comme une ligne d’une table constitue l’unité fondamentale du

(3)

Qu'est ce que le XML Natif.

(4)

Qu'est ce que le XML Natif.

Document orienté données ou orienté document.

● Orienté données : documents qui utilisent le XML comme vecteur de données. Ils sont conçus pour être exploités par une machine et le fait que XML soit utilisé est généralement accessoire.

● Orienté document : documents conçus pour être utilisés par des humains. Ils sont ordinairement écrits manuellement en XML ou sous d’autres formats tels que RTF, PDF ou SGML, puis ils

(5)

Qu'est ce que le XML Natif.

Pourquoi le XML natif ?

G. Defrain - 19/06/2008

● Besoin de plus de fonctionnalités.

● Pour stocker des contenus plutôt orientés documents.

● Pour stocker des documents dont le format naturel est XML (sans avoir besoin d'en connaitre le schéma).

(6)

Qu'est ce que le XML Natif.

Caractéristiques des BDD XML Natives.

Les collections de document:

- une collection équivaut à une table dans un système relationnel ou à un dossier dans un système de fichiers.

- possibilité d'imbriquer les collections.

(7)

Qu'est ce que le XML Natif.

Caractéristiques des BDD XML Natives.

G. Defrain - 19/06/2008

Les langages de requêtes:

- indispensable pour toutes les base de données.

- langage utilisé : XQuery, XPath, XQL ou langage propriétaire.

(8)

Qu'est ce que le XML Natif.

Caractéristiques des BDD XML Natives.

Les mises à jour et effacements:

- grande diversité de stratégie pour les réaliser en fonction des bases.

- chaque produit possède son langage.

- consensus vers XUpdate du XML:DB Initiative.

(9)

Qu'est ce que le XML Natif.

Caractéristiques des BDD XML Natives.

G. Defrain - 19/06/2008

Transaction, verrouillage et accès concurentiel:

- la plupart des bases de données supportent les transactions (commit + rollback).

- problème de verrouillage qui se fait généralement au document.

(10)

Qu'est ce que le XML Natif.

Caractéristiques des BDD XML Natives.

● Les

API:

- très utiles notamment pour les contenus orientés données.

- prennent la forme d'interface semblable à JDBC.

- API XML:DB indépendante des fournisseurs devraient se développer dans les années à venir.

(11)

Qu'est ce que le XML Natif.

Caractéristiques des BDD XML Natives.

G. Defrain - 19/06/2008

L'aller retour de documents (Round-Tripping):

- possibilité de récupérer le « même » document que l'on a stocké dans la base.

- récupération de l'ordre des éléments, des commentaires, des sections CDATA.

(12)

Qu'est ce que le XML Natif.

Caractéristiques des BDD XML Natives.

Les index:

- indexation des éléments et attributs pour accélérer les recherches.

- suivant les bases, possibilité de donner des priorités aux index.

(13)

Exemple de BDD XML Natives.

(14)

Exemple de BDD XML Natives.

eXist.

● Langage de requête : supporte XQuery et Xpath.

● API : possibilité d'utiliser l'API XML DB.

● Indexation : index tout les éléments mais peut être configuré assez finement.

(15)

Exemple de BDD XML Natives.

eXist.

G. Defrain - 19/06/2008

● Permet les accès multi-utilisateurs mais pas les transactions.

● S'intègre facilement à un environnement JAVA mais peut fonctionner avec beaucoup de langage.

● Gestion du langage de mise à jour XUpdate.

● Possibilité d'utiliser XPointer et Xinclude.

● Très bien documenté.

(16)

Exemple de BDD XML Natives.

XIndice.

● Langage de requête : Xpath mais permet de faire des requêtes multi-documents.

● API : possibilité d'utiliser l'API XML DB.

● Indexation : index tout les éléments et permet de faire de la compression de données.

(17)

Langage utilisé par les BDD XML.

(18)

Langage utilisé par les BDD XML.

XUpdate.

● Langage de mise-à-jour déclarative.

● Le programme de mise-à-jour est un document XML.

● Un programme de mise-à-jour est un élément de type modifications qui contient une séquence d’ordres de

mise-à-jour.

(19)

Langage utilisé par les BDD XML.

XUpdate

G. Defrain - 19/06/2008

● Document d'origine :

<?xml version="1.0"?>

<addresses version="1.0">

<address id="1">

<name>Andreas Laux</name>

<born day=’1’ month=’12’ year=’1978’/>

<town>Leipzig</town>

</address>

</addresses>

(20)

Langage utilisé par les BDD XML

XUpdate

<xup:modifications version="1.0"

xmlns:xup="http://www.xmldb.org/xup">

<xup:remove select="/addresses/address[1]/born" />

<xup:rename select="/addresses/address[1]/name" >

fullname

</xup:rename>

<xup:append select="/addresses/address[1]/town" >

<xup:element name="country">

Germany

</xup:element>

(21)

Langage utilisé par les BDD XML

XUpdate

G. Defrain - 19/06/2008

● Document résultat :

<?xml version="1.0"?>

<addresses version="1.0">

<address id="1">

<fullname>Andreas Laux</fullname>

<town>Leipzig</town>

<country>Germany</country>

</address>

</addresses>

(22)

Langage utilisé par les BDD XML

XUpdate

<xup:modifications version="1.0"

xmlns:xup="http://www.xmldb.org/xup">

<xup:insert-after select="/addresses/address[1]" >

<xup:element name="address">

<xup:attribute name="id">

<xup:value-of select="/addresses/address[1]/@id+1"/>

</xup:attribute>

<fullname>Lars Martin</fullname>

<born day=’2’ month=’12’ year=’1974’/>

<town>

(23)

Langage utilisé par les BDD XML

XUpdate

G. Defrain - 19/06/2008

● Document résultat :

<?xml version="1.0"?>

<addresses version="1.0">

<address id="1">

<fullname>Andreas Laux</fullname>

<town>Leipzig</town>

<country>Germany</country>

</address>

<address id="2">

<fullname>Lars Martin</fullname>

<born day=’2’ month=’12’ year=’1974’/>

<town>Leipzig</town>

</address>

</addresses>

(24)

Langage utilisé par les BDD XML

XLink - XPointer.

● Permettent la définition de lien dans les fichiers XML.

● N'importe quel élément XML peut devenir un lien.

● Les liens peuvent relier plus de deux ressources, être bi-

directionnels, multi-directionnels et externes aux documents liés.

(25)

Langage utilisé par les BDD XML

XPointer.

G. Defrain - 19/06/2008

● Permet de définir des liens internes à l'application.

● Pas besoin de créer d'ancre l'id d'un élément suffit .

● Permet de lier vers des éléments résutats d'une requête XPath.

(26)

Langage utilisé par les BDD XML

XLink.

● Permet de définir des liens externes à l'application.

● Une série d'attributs de type xlink: permet de définir le comportement.

(27)

Langage utilisé par les BDD XML

XLink.

G. Defrain - 19/06/2008

Le calendrier de la formation est disponible.

<CREATEUR xlink:type="simple"

xlink:href="http://www.fil.univ-lille1.fr/"

xlink:actuate="onRequest"/>

<IMAGE xlink:type="simple"

xlink:href="fil/logo.gif"

xlink:show="embed"

xlink:actuate="onLoad"/>

(28)

Langage utilisé par les BDD XML

XInclude.

● Permet d'inclure un fichier XML dans un autre.

● Il est possible d'inclure uniquement une partie du document XML en utilisant XPointer.

Références

Documents relatifs

On se propose maintenant d’analyser une feuille d’ordres pour la réaliser en mettant à jour une base de données de comptes bancaires de façon appropriée. Question 4:En utilisant

Tuyet-Tram Dang-Ngoc. Fédération de données semi-structurées avec XML. Base de données [cs.DB].z. Université de Versailles-Saint Quentin en Yvelines, 2003.. KpU

L’étude effectuée dans ce chapitre est indépendante des chapitres précédents, elle concerne un aspect mentionné au chapitre III, la protection des données par des

Thus, if the data has only local dependencies and if the query is a tree-pattern without value joins, the EvalDP algorithm from [4] yields a polynomial-time computation of

Le terme (1b) prend en compte les nœuds restant classifiés pollués, pondéré par la probabilité que le nœud soit détecté correct alors qu’il est pollué et par le temps

Représentation de schémas de bases de données hétérogènes sous forme de métaschémas XML..

Pour ceci faire, lors de la phase d’extraction de la sémantique d’un schéma de base de données, nous enri- chissons la représentation des concepts, des relations entre concepts

 Dans la fenêtre client d’administration eXist , double-cliquez sur la collection XML-Auteurs.xml pour l’ouvrir , afin de visualiser le fichier tout en faisant vos requêtes