Cours 3: Base de donnée XML

Slides:



Advertisements
Présentations similaires
Les technologies décisionnelles et le portail
Advertisements

C#3 et le projet Linq Mitsuru FURUTA
Linq, fonctionnement et architecture
Nouveautés pour les développeurs Office System Scott Burmester Responsable des programmes PSPS.
XML eXtensible Markup Language
Transformation de documents XML
Xavier Blanc Web Services Xavier Blanc
DTD Sylvain Salvati
Première expérience d’utilisation des Web Services dans SmartTools Didier Parigot Projet OASIS INRIA Sophia www-sop.inria.fr/oasis/SmartTools Journée.
19 septembre 2006 Tendances Logicielles IBM Rational Data Architect Un outil complet de modélisation et de conception pour SGBD Isabelle Claverie-Berge.
Les espaces de nommage XML par Philippe Poulard 1
XML schema Objectifs Valider un doc. XML pour des contraintes syntaxiques Documenter un type de documents XML caractérisé par des contraintes Encadrer.
L’architecture .net et ASP.net
XHTML EXtensible HyperText Markup Language. HTML et XML HTML (HyperText Markup Language) et XML (eXtensible Markup Language) sont deux spécifications.
le langage les éléments
Nicolas Singer Maître de conférence, université Champollion
Introduction Concepts fondamentaux Éléments d’architecture
XML en 10 points1 Jean-Daniel Fekete Département Informatique École des Mines de Nantes
TP 3-4 BD21.
Manipulation d’XML avec XSL
Introduction et Concepts : De SGML à XML
20 Données semi-structurées et XML
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
E.Dot – juillet 2005 Page 1 Projet R.N.T.L. e.Dot – Entrepôts de Données Ouverts sur la Toile – Organisation et Structuration.
XQuery 1. Introduction 2. Modèle de données 3. XQuery par l'exemple
XML et les Bases de Données
Mitsuru FURUTA Relations techniques développeurs Microsoft France
Etude des Technologies du Web services
Contrôles d'accès aux données
XML-Family Web Services Description Language W.S.D.L.
UNIVERSITE CHOUAIB DOUKKALI Département des mathématiques
Web Structurel
L’utilisation des bases de données
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
Services fournis par le SI et technologies associées
Notions sur le XML Réfs : manuel p 149. Introduction Le XML (eXtensible Markup Language) est un standard d'échange de données. Il fait partie comme le.
Intégration ActiveXML - Xyleme
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Langages de requêtes XML
8 - XML Cours XML.
Introduction.
Présentation du projet edot Revue intermédiaire - 29 Juin 2004.
BD XML 1. Introduction 2. XML : Modèle de données
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
XML-schema. Pourquoi XML-schema Les DTD : Pas de typage, peu de contraintes sur les contenus nombre d'apparitions d'un élément à choisir entre 0 et 1.
Présentation Session RPSI
Présentation du produit
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Le langage XML.
1 BDs Orientées Objets Witold LITWIN. 2 Pourquoi ? F Les BDs relationnelles ne sont pas adaptées aux applications CAD/CAM, cartes géo... F le problème.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Programmation Web : Introduction à XML
Programmation Web : Schémas XSD Jérôme CUTRONA 19:27:07 Programmation Web
Mastère Professionnel Systèmes de Communication et Réseaux
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
XML: Plan I. Origines et base 3 II. DTD et Schéma 47
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
XML fortement adopté en tant que format indépendant d’échange de données. Utilisation de XML pour la modélisation de données structurées et non structurées.
Soutenance du mémoire de synthèse
Module : Langage XML (21h)
Modélisation des documents: DTD et Schéma
1. Introduction 2. DTD 3. Schémas
XSD XML Schema Definition Année universitaire UP web.
eXtensible Markup Language. Généralités sur le XML.
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
XML : un métalangage pour la description de documents structurés XML a été défini par le consortium W3 en fonction de 2 objectifs: Compenser les limitations.
Modèle à objets et sérialisation Olivier ChamlaFrançois Chastanet.
Introduction SGDBOO Sommaire Définition d’un SGBD (6 services)
XML Introduction. Langage XML eXtensible Markup Language XML permet de créer des documents Avec des balises propres au document Langage «extensible» Représentant.
Transcription de la présentation:

Cours 3: Base de donnée XML NGUYEN Tuanloc

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

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

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

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

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)

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

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 ?

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)

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

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>

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) >

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

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)

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)

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 http://www.w3.org/2001/XMLSchema) 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

Diagramme de type (XML Spy) Séquence Choix Tas

XML et les Bases de Données 1. Introduction 2. Modèle de données 3. Langage de requêtes 4. Conclusion

1. Introduction Générations de BD Réseau et hiérarchique 70 - 80 Relationnel 80 - 90 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 ...

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 ?

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 ?

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>0148253278</Téléphone> <Manager>Dupuis</Manager> </Restaurant> <Bar type = "anglais"> <Nom>Rose and Crown</Nom> </Bar> </Guide> démo

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

Diagramme XML Spy Démo XML Spy

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

Warehouse Diagram Warehouse Wrapper Wrapper Source 1 Source 2

A Mediator Mediator Wrapper Wrapper Source 1 Source 2 User query Result Mediator Query Result Wrapper Wrapper Source 1 Source 2

1. Quand appelle-on XML ? Pull Explicite Implicite Push

2. Comment trouver données dans la base de données ? Annuaire/ Intermédiaire Appliqué dans l’informatique

2. Comment stocker XML ?

3.

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)

Exemple 1 : XPath (Q1) Noms de tous les restaurants : collection(“Restaurants”)/Restaurant/Nom/text() collection(“Restaurants”)/Restaurant/Nom

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

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

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

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.)