La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

 G. Gardarin BD XML 1. Introduction 2. XML : Modèle de données 3. Langages de requêtes 4. Aperçu des produits 5. Conclusion.

Présentations similaires


Présentation au sujet: " G. Gardarin BD XML 1. Introduction 2. XML : Modèle de données 3. Langages de requêtes 4. Aperçu des produits 5. Conclusion."— Transcription de la présentation:

1  G. Gardarin BD XML 1. Introduction 2. XML : Modèle de données 3. Langages de requêtes 4. Aperçu des produits 5. Conclusion

2 VI.2  G. Gardarin 1. Introduction  Générations de BD Réseau et hiérarchique Relationnel Objet-Relationnel 90 - …  Web et BD un rendez-vous manqué couplage faible par serveur d'applications le Web est une vaste BD distribuée la structuration est faible plutôt orienté documentaire... Introduction

3 VI.3  G. Gardarin XML s'impose  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 variés nécessité de pouvoir interroger ces documents évolution ou révolution ?  Quel modèle de données ?  Quel langage d'interrogation ?  SGBD étendus ou natifs ?  Quelle intégration avec l'existant ? Introduction

4 VI.4  G. Gardarin Limites de SQL  Mauvais support de l'imbrication GROUP BY limités Généralement dans les éditeurs de rapports  SQL3 trop complexe Requêtes imbriquées difficiles Méthodes en qualification coûteuse Identifiants pas très claires  Peu adapté à XML Vision tabulaire statique Manipulation par des fonctions (SQL/XML)  SQL à 30 ans ! Inventé en 1970 pour la gestion XQuery le successeur ? Introduction

5 VI.5  G. Gardarin 2. XML : Modèle de données  XQuery Data Model  Modèle des schémas et de XPath  Un document est un arbre à nœud étiqueté  Chaque nœud possède une identité  Sérialisé en texte, souvent représenté graphiquement  Une forêt est une collection de documents de même schéma  Une source de données est soit un document, soit une forêt XML et BD

6 VI.6  G. Gardarin Exemple de documents Le Grand Hôtel Promenade M. Proust Cabourg Dupont Plat du jour L'Absinthe 10 quai Quarantaine Honfleur Dupont Durand Fruits de Mer XML et BD

7 VI.7  G. Gardarin Caractéristiques du modèle  Schémas flexibles et irréguliers 0, 1, N occurrences d'éléments  Données auto-descriptives Éléments balisés et attributs nommés  Modèle de document hiérarchique avec hyperliens Arbres avec possibilités de références M-N  Éléments atomiques ou complexes Composition par agrégation  Types de données riches Entier, réel, texte, url, date,... et types composés XML et BD

8 VI.8  G. Gardarin Le modèle des schémas  Déclaration des éléments et attributs Typage similaire à l'objet  Spécification de types simples Grande variété de types  Génération de types complexes Séquence (Sequence) Choix (Choice) Tas (All) XML et BD

9 VI.9  G. Gardarin Diagramme XML Spy XML et BD

10 VI.10  G. Gardarin Exemple de schéma XML et BD

11 VI.11  G. Gardarin Le schéma est optionnel !  Possibilité de stocker des documents sans schéma Le SGBD génère un schéma (arbre couvrant sans feuilles) Maintenu lors des mises à jour (compteur d'utilité) Schéma de base pour l'interrogation  Facilite la conception Dégager des collections de documents apparentés Le SGBD conçoit pour vous ! XML et BD

12 VI.12  G. Gardarin 3. Langage de requêtes Langages de requêtes MODELELANGAGE REQUETES HiérarchiqueDML DL1 RéseauDML CODASYL RelationnelSQL: SELECT … ObjetOQL XML???

13 VI.13  G. Gardarin Qu'est-ce-que XQuery ?  XQuery est le langage de requêtes pour XML défini et standardisé par le W3C Proposé par IBM, AT&T, Microsoft, Data Direct, …  XQuery s’impose comme le langage de requêtes: Pour les bases de données XML natives Pour les documents XML textuels (XQuery Text) Pour l’intégration de données (BD virtuelles)  Interroger les bases relationnelles en XQuery Pour l’intégration et la publication de données en XML Compétition avec les extensions de SQL (SQL/XML) Langages de requêtes

14 VI.14  G. Gardarin Objectifs (Requirements W3C) Langages de requêtes Types XML Schema Puissance de SQL Structure d'arbres Recherche d'information Langage fonctionnel

15 VI.15  G. Gardarin XPath = un sous-ensemble  Syntaxe pour la navigation en arbre La navigation est définie par des chemins Utilisé par d'autres standards: XSLT, XLink,...  Les chemins sont composés d'étapes / racine ou séparateur entre étapes * joker pour n'importe quel désigne un attribut // joker pour n'importe quel sous chemin  [ ] permet la spécification d'un filtre (prédicat) sur les nœuds courants (peut contenir des chemins) [n] sélectionne le N-ème élément d'une séquence Langages de requêtes

16 VI.16  G. Gardarin Exemples XPath  Noms de tous les restaurants : collection(“Restaurants”)/Restaurant/Nom/text() collection(“Restaurants”)/Restaurant/Nom  Expression régulière Menu de tous les restaurants collection(“Restaurants”)//Menu  Accès via prédicat à attribut Nom des menus du restaurant "Le Romantique" collection(“Restaurants”)/Restaurant [Nom/text()="Le Langages de requêtes

17 VI.17  G. Gardarin Expression FLWR  Forme de requête élémentaire for $ in [, $ in ]+ //itération let $ := // assignation where // élagage return // construction  Les forêts sont soit des collections, soit sélectionnées par des XPath source document ou collection  Le résultat est une forêt un ou plusieurs arbres Langages de requêtes

18 VI.18  G. Gardarin Selection  Lister les noms et téléphones des restaurants de Cabourg Liste des restaurants de Cabourg {for$R in document("Guide")/Restaurant where $R//Ville= "Cabourg" return {$R/Nom} {$R/Téléphone} } Langages de requêtes

19 VI.19  G. Gardarin Jointure  Lister le nom des Restaurants avec téléphone dans la rue de l'Hôtel Lutecia: for $R in collection("Guide")/Restaurant, $H in document(Répertoire)/Hotel where $H//Rue = $R//Rue AND $H//Nom= "Le Lutecia" return {$R/Nom} {$R/Téléphone} Langages de requêtes

20 VI.20  G. Gardarin Agrégat  Combien de restaurants y-a-t-il dans les guides ? Nombre total de restaurants {let $R := collection(“Guide”)/Restaurant return {count ($R)} } Langages de requêtes

21 VI.21  G. Gardarin Manipulation de chaînes  Trouver les livres dans lequel le nom d'un élément se termine par "or" et le même élément contient la chaîne "Suciu" quelque part. Pour chaque tel livre, retourner le titre et l'élément qualifiant. for $b in doument("document")//book let $e := $b/*[contains(string(.), "Suciu") and ends-with(local-name(.), "or")] where exists($e) return { $b/title } { $e } Langages de requêtes

22 VI.22  G. Gardarin Fonctionnalités XQuery Text  Recherche sur mot-clés  Recherche de phrase  Support des mots de liaison  Recherche sur préfix, suffix, infix  Normalisation des mots, accents, capitales, …  Recherche par proximité (unité = mots)  Spécification de l'ordre des mots  Combinaison logique avec AND, OR, NOT  Recherche par similarité  Tri des résultats par pertinence Langages de requêtes

23 VI.23  G. Gardarin Bilan XQuery  Véritable langage de programmation pour XML  Très puissant Sélection Jointure Imbrication Restructuration Agrégation Tri Recherche plein texte Calculs Contrôles  Sur des forêts dont les arbres sont des documents  Questions ? Langages de requêtes

24 VI.24  G. Gardarin 4. Modèle interne et produits  Systèmes natifs Technique spécialisée de stockage et recherche Indexation des arbres XML Gèrent seulement du XML Langage de requêtes XQuery  Extensions objet-relationnel De plus en plus intégré aux grands SGBD Deux techniques:  colonne « objet XML »  mapping 1 document  N tables Langage de requêtes hybride  SQL étendu avec fonctionnalités XQuery Modèle interne

25 VI.25  G. Gardarin 4.1 SGBD Natif XML SGBD  conçu pour XML,  stockant les documents entiers sans les décomposer en éléments,  utilisant de techniques d'indexation d'arbres spécifiques. Forêts d'arbres Stockage XML Recherche XML XQuery XML Index Noyau SGBD Concurrence, Fiabilité Modèle interne

26 VI.26  G. Gardarin Techniques clés  Stockage d’arbres  Index de structure (arbres)  Index de contenu (mots clés)  Algèbre XML  Optimisation XQuery  Passage à l’échelle  Gestion de versions

27 VI.27  G. Gardarin Principaux produits  De multiples produits Software A.G. Tamino X-Hive/Db Coherity IXIA soft XML Global NeoCorehttp://www.neocore.com/http://www.neocore.com/ Exist (Open source) Modèle interne

28 VI.28  G. Gardarin Xylème Application : Les archives du Monde Modèle interne

29 VI.29  G. Gardarin 4.2 Extensions du relationnel Composant logiciel intégré à un SGBD (objet-relationnel) assurant:  le stockage et l'interrogation de documents XML  en transformant le XML en tables  et les tables en XML SQL SGBD Tables de lignes Stockage XML Recherche XML SQL/XML XML Index Modèle interne

30 VI.30  G. Gardarin SQL/XML  Intégration de fonctionnalités XQuery à SQL  Support à la SQL3 Type de donnée natif XML Type (colonnes XML) Fonctions d’extraction XPath Fonctions de construction de XML (pont relationnel) Insertion et Maj de XML en colonne(s)  Exemple de requête SELECT XMLElement("Emp", XMLForest ( e.hire, e.dept AS "department") )AS "result“ FROM EMPLOYEE e WHERE ExtractValue(e.XMLemp, > 200;  Intégré à Oracle et DB2

31 VI.31  G. Gardarin Oracle XML/DB  Stockage et publication Mapping de XML plat sur une table Mapping de XML imbriqué en tables imbriquées Stockage de XML en colonne (XML Type) Commandes PutXml et GetXml  Interrogation Support de SQL/XML Servlet XSQL  document XML avec requêtes SQL/XML  transformation du résultat des requêtes en XML Modèle interne

32 VI.32  G. Gardarin Microsoft  SQL Server 2005 Modèle Relationnel Modèle XML  Stockage de XML Stockage natif comme "XML data type" Mapping de XML en tables  défini par assistants  exécuté par procédures stockées Stockage en Large OBject  varchar et varbinary  Interrogation en XML XQuery et XML DML  Proposé pour interroger et mettre à jour les données XML (XML data type)  Possibilité de définir des vues XML et de les interroger SELECT … FOR XML  Retourne du XML à partir de requêtes et permet de définir le format du XML retourné. OpenXML  Manipulation de documents XML comme des tables avec T-SQL et des procédures stockées. Modèle interne

33 VI.33  G. Gardarin XQuare Bridge (Open Source)  Extraction XML via XQuery traduite en SQL  Stockage XML en base Mapping via schema Accélérateur XTree (Repository)  Portable Oracle, SQLServer, PostGres, …  Version industrielle SGBD Extractor Mapper JDBC BD relationnelle Scripts XQuery API XML/DBC Règles de Mapping API SAX2 SGBDR Modèle interne

34 VI.34  G. Gardarin Natif versus XOR DBMS  Points forts XOR pas de nouveau SGBD possibilité de normaliser les données possibilité de stocker comme valeur d’attribut une certaine portabilité multi-SGBD performance pour accès grain fin  Points forts Natif un nouveau SGBD fait pour XML jamais de mapping à définir et maintenir intégrité du document recherche plein texte performance pour accès gros grain Modèle interne

35 VI.35  G. Gardarin 5. CONCLUSION  XML peut-il changer les bases de données ? Recherche en BD semi-structurées importante Besoin de schémas permissifs (XML Schéma) Langage de requêtes standardisé (XQuery)  Intégration douce à l'objet/relationnel Transformation et stockage en tables Gestion du graphe des documents Support des textes libres  XML et les BD s'imposent: Archivage des messages échangés Systèmes répartis (Web Services via requêtes) B2B (protocoles de e-commerce) Conclusion


Télécharger ppt " G. Gardarin BD XML 1. Introduction 2. XML : Modèle de données 3. Langages de requêtes 4. Aperçu des produits 5. Conclusion."

Présentations similaires


Annonces Google