Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Cours 3: Base de donnée XML
NGUYEN Tuanloc
2
Contenu XML: DTD et Schémas XML et les Bases de Données Conclusion
Introduction DTD - démo XML Schéma Démo XML Spy XML et les Bases de Données Modèle de données Langage de requêtes XPATH -démo Modèles internes Conclusion
3
1. Introduction Un document XML publiable : Le document XML lui-même
la DTD ou le schéma pour décrire les balises Une feuille de style pour adapter le format aux besoins La DTD permet de définir son propre langage basé sur XML Vocabulaire Grammaire
4
Pourquoi XML ? Integrated View CLIENT Site 4 Site 1 Site 3 Site 2
Classical System CLIENT Text Data Integrated View Management data : Orders, Customers, Bills. Site 5 Site 4 Site 1 Incident Descriptions Local Network Geographical Data Legacy Data Site 3 Customer Localization Site 2 SERVEUR Product Catalog Web Data
5
Exemple XML BARS BAR BAR BAR NAME . . . BEER BEER Joe’s Bar PRICE NAME
Démo avec XML Spy Joe’s Bar PRICE NAME PRICE NAME Bud 2.50 Miller 3.00
6
Définition XML XML est un méta-langage universel pour les données sur le Web qui permet au développeur de délivrer du contenu depuis les applications à d'autres applications ou aux browsers XML promet de standardise la manière dont l'information est : Échangée (XML) Personnalisée (XSL) Retrouvée (XQuery) Sécurisée (Encryption, Signature) Liée (XLink)
7
XML Un standard d'échange Développé par le W3C
Lisible : texte balisé avec marquage Clair : séparation du fond et de la forme Extensible : supporte les évolutions applicatives Sécurisé : pare-feu, encryption, signature Développé par le W3C Pour le Web (Internet, Intranet) S'étend à l'entreprise et ses partenaires Supporté par les grands constructeurs IBM, Microsoft .net, SUN, BEA, etc. Des outils génériques et ouverts
8
Forces et faiblesses de XML
Une technologie structurante Clarifie tous les échanges Des standards internes et externes Transversale à l'entreprise Échanges de données Bureautique Sites Web Bases de données Intégration e-business Une syntaxe ‘’bavarde’’ Un méta-langage, mais de nombreux langages Coûteux en CPU Parsing Coûteux en mémoire Instanciation Pourquoi XML ?
9
Validité des documents
Document bien formé (Well Formed document) balises correctement imbriquées Analysable (parsable) et manipulable pas nécessairement valide par rapport à la DTD Document valide (Valid document) bien formé + conforme à la DTD (ou au schéma)
10
2. DTD Permet de définir le «vocabulaire» et la structure qui seront utilisés dans le document XML Grammaire du langage dont les phrases sont des documents XML (instances) Peut être mise dans un fichier (DTD externe) et être appelée dans le document XML Démo - pause
11
Déclaration d'élément simple
<! ELEMENT balise (définition) > Le paramètre définition représente soit un type de donnée prédéfini, soit un type de données composé, constitué lui même d'éléments Types prédéfinis ANY : L'élément peut contenir tout type de donnée EMPTY : L'élément ne contient pas de données spécifiques #PCDATA : L'élément doit contenir une chaîne de caractère Exemple <! ELEMENT Nom (#PCDATA)> <Nom>Victor Hugo</Nom>
12
Exemple de DTD <!ELEMENT doc (livre* | article+) >
<!ELEMENT livre (titre, auteur+) > <!ELEMENT article (titre, auteur*) > <!ELEMENT titre(#PCDATA) > <!ELEMENT auteur(nom, adresse) > <!ATTLIST auteur id ID #REQUIRED > <!ELEMENT nom(prenom?, nomfamille) > <!ELEMENT prenom (#PCDATA) > <!ELEMENT nomfamille (#PCDATA) > <!ELEMENT adresse (ANY) >
13
3. XML Schéma Un schéma d'un document définit:
les éléments possibles dans le document les attributs associés à ces éléments la structure du document et les types de données Le schéma est spécifié en XML pas de nouveau langage balisage de déclaration domaine spécifique xsd: Présente de nombreux avantages structures de données avec types de données extensibilité par héritage et ouverture analysable par un parseur XML standard
14
Objectifs des schémas Reprendre les acquis des DTD
Plus riche et complet que les DTD Permettre de typer les données Eléments simples et complexes Attributs simples Permettre de définir des contraintes Existence, obligatoire, optionnel Domaines, cardinalités, références Patterns, ... S'intégrer à la galaxie XML Espace de noms Infoset (structure d'arbre logique)
15
Le modèle des schémas Déclaration des éléments et attributs
Nom 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)
16
2. XMLSchema Un schéma d'un document définit:
les éléments possibles dans le document les attributs associés à ces éléments la structure du document et les types de données Le schéma est spécifié en XML pas de nouveau langage balisage de déclaration domaine xsd: (namespace Présente de nombreux avantages structures de données avec types de données extensibilité par héritage et ouverture factorisation des outils et méthodes XML A la différence des DTDs, XML Schéma utilise la syntaxe XML. Ainsi on n'est pas obligé d'apprendre une nouvelle syntaxe pour décrire sa grammaire. Il suffit juste d'apprendre à déclarer les éléments et les attributs en XML. XML Schéma présente de nombreux avantages : structures de données types de données ( par rapport aux DTDs ) extensibilité représentation en arbre
17
Diagramme de type (XML Spy)
Séquence Choix Tas
18
XML et les Bases de Données
1. Introduction 2. Modèle de données 3. Langage de requêtes 4. Conclusion
19
1. Introduction Générations de BD Réseau et hiérarchique 70 - 80
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 ...
20
XML s'impose Intégration des données et méta-données
Standard d’échange de données universel Les BD ne peuvent rester indifférentes : nécessité de stocker les documents XML nécessité de pouvoir interroger ces documents évolution ou révolution ? Quel modèle de données ? Quel langage d'interrogation ? Quelle intégration avec l'existant ?
21
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 Références pas très claires Peu adapté à XML Vision tabulaire Manipulation par des fonctions (SQL/XML) SQL à 30 ans ! Inventé en 1970 pour la gestion XQuery le successeur ?
22
Exemple de documents <Guide Version= "2.0">
<Restaurant type="francais" categorie="***"> <Nom>Le Moulin</Nom> <Adresse> <Rue>des Vignes</Rue> <Ville>Mougins</Ville> </Adresse> <Manager>Dupuis</Manager> </Restaurant> <Restaurant type="francais" categorie ="**"> <Nom>La Licorne</Nom> <Adresse><Rue>Des Moines</Rue> <Ville>Paris</Ville> </Adresse> <Téléphone> </Téléphone> <Manager>Dupuis</Manager> </Restaurant> <Bar type = "anglais"> <Nom>Rose and Crown</Nom> </Bar> </Guide> démo
23
2. Modèle de données Schémas flexibles et irréguliers
Optionnels, avec ou sans DTD Données auto-descriptives Balises et attributs Modèle de type hypertexte Support des références Éléments atomiques ou complexes Composition par agrégation Types de données variés et extensibles Textes, numériques, …, types utilisateur
24
Diagramme XML Spy Démo XML Spy
25
Objectifs BD XML Puissance de SQL Recherche d'information Structure
Types XML Schema XPath 2 Puissance de SQL Recherche d'information Structure d'arbres Langage fonctionnel
26
Warehouse Diagram Warehouse Wrapper Wrapper Source 1 Source 2
27
A Mediator Mediator Wrapper Wrapper Source 1 Source 2 User query
Result Mediator Query Result Wrapper Wrapper Source 1 Source 2
30
1. Quand appelle-on XML ? Pull Explicite Implicite Push
31
2. Comment trouver données dans la base de données ?
Annuaire/ Intermédiaire Appliqué dans l’informatique
32
2. Comment stocker XML ?
33
3.
35
La syntaxe XPATH - démo Proposé par IBM , MS, AT&T, Data Direct, ...
Langage fonctionnel type CAML Forme de requête élémentaire FOR $<var> in <forest> [, $<var> in <forest>]+ //itération LET $<var> := <subtree> // assignation WHERE <condition> // élagage RETURN <result> // construction Les forêts sont sélectionnées par des Xpath (document ou collection) Le résultat est une forêt (un ou plusieurs arbres)
36
Exemple 1 : XPath (Q1) Noms de tous les restaurants :
collection(“Restaurants”)/Restaurant/Nom/text() collection(“Restaurants”)/Restaurant/Nom
37
Microsoft SQL Server 2000 Projet Yukon 2003 XPath SQL XQuery
XML Files XPath XQuery SQL Server 2000 Mapping de XML sur tables défini par assistants exécuté par procédures stockées Génération de résultats en XML par SELECT … FOR XML Projet Yukon 2003 SGBD natif ? XML View SQL Server RowSet
38
Microsoft : SQL Server XML
XMLBulkload BCP/SQL XML Updategrams SQL update/ insert/ delete XML SQL Server Query Processor Annotated XSD Mapping Schemas XPath XQuery Query XML SQL Queries FOR XML Rowsets SQL Queries FOR XML Queries FOR XML Queries FOR XML
39
5. Conclusion XML peut-il changer les bases de données ?
Recherche en BD semi-structurées Besoin de schémas faibles (XML Schéma) Langage de requêtes standardisé (XQuery) L'effet du Web ... Intégration douce à l'Objet/relationnel Transformation en tables Gestion du graphe Support des textes libres niveau élément
41
Conclusion XML fournit un cadre uniforme pour :
échanger des données structurées (DTD, schéma) échanger des données semi-structurées (graphes) interroger des documents (XQuery) intégrer des sources de données hétérogènes (table, multimédia) Beaucoup de travaux sont en cours Gestion efficace au sein d'Oracle, de DB2, etc. Construction de middlewares pull/push fondés sur XQuery Construction de SGBD pur XML (Xylème, etc.)
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.