BDBIO - XML et XQuery

Dimension: px
Commencer à balayer dès la page:

Download "BDBIO - XML et XQuery"

Transcription

1 BDBIO - XML et XQuery Fabien Duchateau fabien.duchateau [at] univ-lyon1.fr Université Claude Bernard Lyon

2 Rappels Les données d application sont principalement gérées par des systèmes de gestion de bases de données (SGBD), qui suivent un modèle de données : Relationnel comment bien modéliser pour créer une BD relationnelle comment interroger une BD relationnelle BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 2 / 55

3 Rappels Les données d application sont principalement gérées par des systèmes de gestion de bases de données (SGBD), qui suivent un modèle de données : Relationnel comment bien modéliser pour créer une BD relationnelle comment interroger une BD relationnelle Comment modéliser et interroger des SGBD qui suivent d autres modèles de données? BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 2 / 55

4 Positionnement dans BDBIO BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 3 / 55

5 Le langage XML XML pour extensible Markup Language Standard W3C depuis 2008 Langage de balisage (avec les chevrons) Initialement développé pour faciliter l interopérabilité et le stockage (échange de données, sérialisation) Quelques SGBD basés sur le stockage de documents XML BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 4 / 55

6 Technologies XML XML regroupe un ensemble de technologies : Description d un document (DTD, XML schema) Sélection d une partie d un document (XPath) Interrogation de document (XQuery) Transformation de document (XSLT) API pour manipuler un document (DOM pour une représentation en arbre, SAX par déclenchement d événements) BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 5 / 55

7 SGBD natifs XML Quelques SGBD orientés document (mouvement NoSQL, post-relationnel) utilisent un document XML comme unité de stockage (logique) BaseX exist Berkeley DB XML BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 6 / 55

8 Plan Document XML XML Schema XPath XQuery

9 Définition Un document XML correspond à un ensemble de données organisées dans un arbre Format textuel Extension de fichier :.xml Considéré compréhensible à la fois par les humains et les machines Syntaxe à base de balises (comme en HTML) balise par paire (<div> </div>) balise orpheline (<img />) BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 8 / 55

10 Exemple de document simple 8 <? xml version ="1.0" encoding =" utf -8"?> 9 <collection > 10 <bd id="1"> 11 <auteure >Fmurrr </ auteure > 12 <titre >Sabotage et pâturage </ titre > 13 <annee >1995 </ annee > 14 </bd > 15 </ collection > Un simple document avec son entête, un élément <collection> qui contient un élément <bd>. L élément <bd> est décrit par trois propriétés (éléments et texte) BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 9 / 55

11 Types de noeuds XML Un arbre XML possède différents types de noeuds : Racine = document complet. Elle possède exactement un noeud élément contenant les données Élément = noeud possédant un nom (balise). Il peut posséder des noeuds filles de tous types (sauf racine) Attribut = noeud sous forme nom = valeur et qui est rattaché à la balise ouvrante d un élément. Pour un élément donné, impossible d avoir deux attribut portant le même nom Texte entre une balise ouvrante et une fermante Commentaire BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 10 / 55

12 Syntaxe XML Un prologue optionnel (indications pour la lecture du document) <?xml version= 1.0 encoding= utf-8?> Des éléments imbriqués pouvant contenir des attributs l ordre entre les noeuds enfants est significatif l ordre entre les noeuds attributs (d un même élément) n est pas important <element attribut= valeur ></element> <element attribut= valeur /> BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 11 / 55

13 Exemple de syntaxe XML 33 <? xml version ="1.0" encoding =" utf -8"?> 34 <racine attribut1 =" valeur1" attribut2 =" valeur2" > 35 <!-- commentaire --> 36 <element1 > 37 texte1 38 </ element1 > 39 <element2 attribut3 =" valeur3" /> 40 <prefixe: element3 attribut4 =" valeur4" > 41 texte2 42 </ prefixe: element3 > 43 </ racine > Un exemple de document XML avec les différents types de noeuds BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 12 / 55

14 Espaces de nom XML Un espace de nom est une URI qui permet d éviter les ambiguïtés sur les noms XML (issus de vocabulaires / schémas différents) Nom qualifié = prefixe:nom, où prefixe est une référence vers une URI Nom sans préfixe = nom local, dont l espace de nommage est celui du schéma s il n y a pas d espace pour le schéma, le nom n a pas d espace de nommage BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 13 / 55

15 Syntaxe des espaces de nom XML Un espace de nom est précisé par l attribut xmlns <element xmlns:prefix=uri> <element xmlns=uri> Un espace de nom défini pour un élément est disponible pour tous les enfants de cet élément Sans préfixe, l espace de nommage est celui par défaut 46 <root xmlns:espace1="uri1" xmlns:espace2="uri2"> 47 <espace1:element > 48 <!-- cette balise element vient du vocabulaire de uri1 --> 49 </espace1:element> 50 <espace2:element > 51 <!-- cette balise element vient du vocabulaire de uri2 --> 52 </espace2:element> 53 </root> BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 14 / 55

16 Exemples d espaces de nom XML 56 <? xml version ="1.0" encoding =" utf -8"?> 57 <collection xmlns=" www. bedetheque. com/" > 58 <bd id="1" xmlns: sch=" schema. org/" > 59 <auteure >Fmurrr </ auteure > 60 <titre > Sabotage et pâturage </ titre > 61 <annee >1995 </ annee > 62 <sch: numberofpages >47 </ sch: numberofpages > 63 <editeur >Dargaud </ editeur > 64 </bd > 65 </ collection > Un espace de nom par défaut (pour <auteur>, <titre>, etc.), et un préfixe sch associé à un autre espace de nom uniquement pour l élément <bd> BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 15 / 55

17 Plan Document XML XML Schema XPath XQuery

18 Modélisation XML Des modèles conceptuels pour XML : XSEM, TreeModel, ERX, EReX, etc. Des extensions du diagramme E/A ou du diagramme de classe UML : XER Des propositions de conversion de relationnel vers XML Mais pas de pratique bien établie pour modéliser en XML! Chen, Haitao, and Husheng Liao. A survey to conceptual modeling for XML. ICCSIT (2010) M. Franceschet et al. From Entity Relationship to XML Schema : a graphtheoretic approach. XSym (2009) J. Fong et al. Translating relational schema with constraints into XML schema. International Journal of Software Engineering and Knowledge Engineering (2006) BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 17 / 55

19 Schémas pour XML En XML, un schéma est un ensemble de contraintes structurelles que doit vérifier un document XML pour être valide : Noeuds attribut ou noeuds enfants autorisés pour un élément Type de valeurs pour les noeuds attribut et noeud texte Noeuds attribut ou noeuds enfants obligatoires pour un élément Plusieurs langages pour la définition d un schéma en XML BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 18 / 55

20 Langages de schéma pour XML Différents langages de schéma pour des données XML : DTD (Document Type Definition) XML Schema ou XSD (XML Schema Definition) Relax NG : un langage simplifié Exemples de schémas publics : XHTML, RSS SVG MathML OpenDocument, OpenXML BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 19 / 55

21 XML Schema (XSD) XML Schema Definition Extension de fichier :.xsd Par rapport au langage DTD : XSD est un fichier XML, donc facilite le parsing XSD permet le typage des données et ajoute de nouvelles contraintes possibilité de référencer d autres schémas langage assez complexe BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 20 / 55

22 XML Schema (XSD) <?xml version= 1.0 encoding= utf-8?> <xsd:schema xmlns:xsd= > <! définition du schéma > </xsd:schema> Un fichier XSD commence par un prologue (version du langage, encodage) Comme c est un fichier XML, il faut un élément racine (dont la définition est imposée en XSD avec l élément schema) Un espace de nom (attribut xmlns) référence les éléments de XML Schema, qui seront accessibles par le préfixe xsd BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 21 / 55

23 Éléments simples Définition : un élément simple contient une seule valeur d un type de données simple, et qui ne contient ni attribut ni élément imbriqué 77 <auteure >Fmurrr </ auteure > Une vingtaine de types de données regroupés en quatre familles : chaîne : string, normalizedstring, token, language, Name, ID, IDREF, NMTOKEN, NMTOKENS, etc. date : time, date, duration, gyear, gmonth, gyearmonth, etc. numérique : integer, int, float, double, positiveinteger, etc. autres : boolean, anyuri, etc. BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 22 / 55

24 Déclaration d un élément simple <xsd:element name= un_nom type= xsd:un_type /> Déclaration d un élément simple dont la balise est un_nom et de type xsd:un_type Pour indiquer une valeur par défaut à l élément, c est l attribut default="une_valeur" On peut aussi imposer une valeur (constante) avec l attribut fixed="une_valeur" L espace de nom préfixé par xsd se rapporte à celui de XML Schema (voir transparent XML Schema (XSD) ) BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 23 / 55

25 Déclaration d un attribut <xsd:attribute name= un_nom type= xsd:un_type /> Un attribut est un élément simple Déclaration d un attribut dont le libellé est un_nom et de type xsd:un_type Idem que les éléments simples pour une valeur par défaut ou constante Pour rendre un attribut obligatoire, il faut préciser use="required" BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 24 / 55

26 Exemples d élément simple 80 <xsd:element name="datenaissance" type="xsd:date" /> 81 <xsd:element name="dateparution" type="xsd:gyearmonth" /> 82 <! > 83 <datenaissance > </ datenaissance ><!-- 31/01/ > 84 <dateparution > </ dateparution ><!-- juin > Exemples de types date pour des éléments 87 <xsd: attribute name="numéro" type="xsd:id" /> 88 <xsd: attribute name="tomes" type="xsd:idrefs" /> 89 <! > 90 <bd numero="11">sabotage et pâturage </bd> 91 <bd numero="13">cheptel maudit </bd> 92 <serie tomes="11 13">Le génie des alpages </serie > Exemples de types chaines pour des attributs BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 25 / 55

27 Restrictions Définition : une restriction ( facet ) définit un ensemble de valeurs autorisées pour un élément ou un attribut Des bornes minimales / maximales (xsd:mininclusive et xsd:maxinclusive) Des énumérations de valeurs (xsd:enumeration) Des patterns (xsd:pattern) De taille (xsd:minlength et maxlength) Ces types de restrictions sont encapsulés dans un xsd:restriction, lui même imbriqué dans un xsd:simpletype BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 26 / 55

28 Exemples de restrictions 134 <xsd:element name="annee"> 135 <xsd:simpletype > 136 <xsd: restriction base="xs:integer"> 137 <xsd: mininclusive value="1827"/> 138 <xsd: maxinclusive value="2017"/> 139 </xsd: restriction> 140 </xsd: simpletype> 141 </xsd:element> Exemple de restriction sur un élément via des bornes 144 <xsd: attribute name="codeprix"> 145 <xsd:simpletype > 146 <xsd: restriction base="xs:string"> 147 <xsd:pattern value="[a-z][a-z][0-9][0-9]"/> 148 </xsd: restriction> 149 </xsd: simpletype> 150 </xsd: attribute> 151 <xsd: attribute name="prix" ref="codeprix"/> Exemples de restriction sur un attribut via un pattern BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 27 / 55

29 Éléments complexes Définition : un élément complexe contient un ou plusieurs attributs et/ou un ou plusieurs éléments 96 <bd > 97 <titre langue =" fr" num=" 13" >Cheptel maudit </ titre > 98 <annee >2004 </ annee > 99 </bd > Deux éléments complexes et trois éléments simples BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 28 / 55

30 Déclaration d un élément complexe <xsd:element name= un_nom > <xsd:complextype> <! contenu > <xsd:complextype> </xsd:element> Déclaration d un élément complexe dont la balise est un_nom Le contenu peut être de trois types : du texte des éléments mixte (texte et éléments) L espace de nom préfixé par xsd se rapporte à celui de XML Schema (voir transparent XML Schema (XSD) ) BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 29 / 55

31 Élément complexe avec contenu texte Un élément complexe avec contenu texte est composé d un texte (valeur entre les balises) et d éventuels attributs Le texte est indiqué par un élément xsd:simplecontent, lui-même parent d un élément xsd:extension ou xsd:restriction (typé via un attribut base) 111 <xsd:element name="bd"> 112 <xsd:complextype > 113 <xsd:simplecontent > 114 <xsd: extension base="xsd:string" /> 115 </xsd: simplecontent> 116 </xsd: complextype> 117 </xsd:element> 118 <! > 119 <bd>sabotage et pâturage </bd> Un élément complexe avec un texte de type chaine BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 30 / 55

32 Exemples d élément complexe avec contenu texte 102 <xsd:element name="bd"> 103 <xsd:complextype > 104 <xsd: attribute name="numero" type="xsd:id" /> 105 <xsd: attribute name="langue" type="xsd:string" /> 106 </xsd: complextype> 107 </xsd:element> 108 <bd numero="11" langue="fr"></bd> Un élément complexe avec deux attributs (déclaration inline) 122 <xsd: complextype name="typebd"> 123 <xsd:simplecontent > 124 <xsd: extension base="xsd:string"> 125 <xsd: attribute name="numero" type="xsd:id"/> 126 </xsd: extension> 127 </xsd: simplecontent> 128 </xsd: complextype> 129 <xsd:element name="bd" type="typebd"> 130 <! > 131 <bd numero="11" >Sabotage et pâturage </bd> Un élément complexe avec texte et attribut (déclaration externe) BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 31 / 55

33 Élément complexe avec contenu éléments Un élément complexe avec contenu éléments est composé d un ou plusieurs éléments et d éventuels attributs Les éléments sont imbriqués dans un élément intermédiaire qui précise des contraintes : xsd:all pour des éléments tous présents une seule fois (peu importe l ordre) xsd:sequence pour des éléments présents dans l ordre spécifié xsd:choice pour le choix d un seul élément Pas de texte entre les éléments imbriqués, mais chaque élément imbriqué peut avoir du texte entre ses balises BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 32 / 55

34 Exemple d élément complexe avec contenu éléments 154 <xsd:element name="bd"> 155 <xsd:complextype > 156 <xsd:all > 157 <xsd:element name="auteure" type="xsd:string"/> 158 <xsd:element name="titre" type="xsd:string"/> 159 <xsd:element name="annee" type="xsd:gyear"/> 160 </xsd:all> 161 <xsd: attribute name="numero" type="xsd:id"/> 162 </xsd: complextype> 163 </xsd:element> Un élément complexe bd qui contient trois éléments (obligatoires et uniques) et un attribut BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 33 / 55

35 Élément complexe avec contenu mixte Un élément complexe avec contenu mixte est composé de texte, d éléments et d attributs Ajout de l attribut mixed="true" au xsd:complextype Texte possible entre les éléments imbriqués 166 <xsd:element name="bd"> 167 <xsd: complextype mixed="true"> 168 <xsd:sequence > 169 <xsd:element name="auteure" type="xsd:string"/> 170 <xsd:element name="titre" type="xsd:string"/> 171 <xsd:element name="annee" type="xsd:gyear"/> 172 </xsd:sequence> 173 </xsd: complextype> 174 </xsd:element> BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 34 / 55

36 Nombre d occurrences Les éléments element, choice, sequence, complextype peuvent avoir un nombre minimum et/ou maximum d occurrences Attributs minoccurs et maxoccurs Valeurs à 1 par défaut Valeur maximale infinie avec maxoccurs="unbounded" 177 <xsd:element name="collection"> 178 <xsd:complextype > 179 <xsd:choice maxoccurs="unbounded"> 180 <xsd:element name="bd" type="typebd"/> 181 </xsd:choice> 182 </xsd: complextype> 183 </xsd:element> BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 35 / 55

37 Lier un document XML à un schéma 186 <?xml version="1.0" encoding="utf -8"?> 187 <collection xmlns=" xmlns:xsi="http :// XMLSchema -instance" xsi:schemalocation=" <! > 189 </ collection> Un lien vers un schéma XML avec espace de nom 192 <?xml version="1.0" encoding="utf -8"?> 193 <collection xmlns=" xmlns:xsi="http :// XMLSchema -instance" xsi: nonamespaceschemalocation="unschema.xsd"> 194 <! > 195 </ collection> Un lien vers un schéma XML sans espace de nom BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 36 / 55

38 En résumé XML Schema, un langage pour décrire les contraintes d un document Éléments simples, restrictions, éléments complexes Éléments xsd:any et xsd:anyattribute, héritage, etc. Plusieurs manières d écrire un schéma (différents langages, mais aussi différents choix de modélisation) diviser un schéma (déclaration globale de type, et utilisation avec l attribut ref) BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 37 / 55

39 Plan Document XML XML Schema XPath XQuery

40 Généralités XML Path Language (XPath) : Sélection de morceaux d un document XML Utilisé par d autres langages comme XQuery ou XSLT ou par des bibliothèques (Python, Java, etc.) Expression XPath : chemins dans l arbre XML pour sélectionner les noeuds intéressants chemins similaires à la syntaxe de chemin de fichiers sous Unix Une version compacte (mais limitée) et une version complète (mais verbeuse) BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 39 / 55

41 Exemples 8 <? xml version ="1.0" encoding =" utf -8"?> 9 <collection > 10 <bd id="1"> 11 <auteure >Fmurrr </ auteure > 12 <titre >Sabotage et pâturage </ titre > 13 <annee >1995 </ annee > 14 </bd > 15 </ collection > Quelques exemples d expressions XPath : /collection/bd //auteure collection/bd/annee[text() = 1995]/parent::node() BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 40 / 55

42 Syntaxe (complète) axe::test[prédicat]/ /axe::test[prédicat] Expression XPath = suite d étapes Étape = axe::test[prédicat], avec le prédicat optionnel Évaluation d une expression XPath : soit à partir du noeud courant soit à partir de la racine si l expression commence par un slash (e.g., /collection) Chaque étape de l expression XPath modifie l ensemble des noeuds sélectionnés La syntaxe compacte ne respecte pas cette syntaxe (utilisation de raccourcis) BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 41 / 55

43 Axes Un axe indique la direction de navigation dans l arbre Axes en arrière (remontent dans l arbre) : ancestor pour les ancêtres du noeud courant ancestor-or-self parent preceding pour les noeuds qui précédent le noeud courant, hors ancêtres preceding-sibling pour les noeuds de même parent et qui précédent le noeud courant BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 42 / 55

44 Axes (2) Axes en avant (descendent dans l arbre) : attribute pour les attributs du noeud courant child pour les enfants du noeud courant descendant pour les descendants du noeud courant descendant-or-self following pour les noeuds qui suivent le noeud courant, hors descendants following-sibling pour les noeuds de même parent et qui suivent le noeud courant self pour le noeud courant BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 43 / 55

45 Tests de noeud Un test de noeud sélectionne, parmi les noeuds désignés par l axe, ceux avec un nom ou un type donné nom pour les éléments avec le nom donné * pour tous les noeuds node() pour tous les noeuds attribute() pour tous les éléments de type attribut text() pour tous les éléments de type texte BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 44 / 55

46 Prédicat Un prédicat filtre les noeuds sélectionnés en évaluant une expression booléenne (similaire au where de SQL) Vrai si l expression retourne un résultat non vide L expression peut : combiner différentes conditions (and, or) utiliser des fonctions booléennes être un chemin (évalué à partir du noeud à tester) utiliser des fonctions non booléennes (avec éventuellement un chemin comme argument) BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 45 / 55

47 Quelques abréviations de syntaxe.. parent::node(). self::node() // /descendant-or-self::node()/ balise attribute::att [X] [fn:position() = X] BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 46 / 55

48 Exemples XPath Tous les titres de tome (sans la balise titre) : //titre/text() Les tomes avec un genre : //tome[genre] Le nom des séries avec un tome 13 : //serie[tome/@numero = 13]/nom Les tomes avec un genre et un numéro supérieur ou égal à 1 : //tome[genre >= 1] Le titre des tomes dont le numéro est inférieur à 12 : //tome[@numero <= 12]/titre BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 47 / 55

49 Fonctions fn:round(num) arrondit num à l entier le plus proche fn:position() retourne la position d un noeud fn:not(expr) retourne vrai si expr est fausse [fn:contains(foin, aiguille)] est vrai si la chaine foin contient la chaine aiguille fn:count(elem, elem, ) retourne le nombre de noeuds BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 48 / 55

50 Exemples de fonctions XPath Le nombre de séries : /collection/fn:count(node()) ou fn:count(//serie) Les tomes en seconde position : //tome[2] Les séries dont un noeud textuel commence par T : //serie[descendant::node() [fn:starts-with(child::text(), "T")]] Les séries dont aucun noeud textuel ne commence par T : //serie[fn:not(descendant::node()[fn:starts-with( child::text(), "T")])] BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 49 / 55

51 Plan Document XML XML Schema XPath XQuery

52 Généralités XML Query (XQuery) : Langage de manipulation pour des documents XML (utilisé par les SGBD XML) Fabrication de (morceaux de) documents XML à partir de données XML Standard W3C, basé sur XPath Requêtes FLWOR contenant 5 clauses BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 51 / 55

53 Syntaxe FLWOR for $var in chemin_xpath ou intervalle let $var 1 := val 1,, $var n := val n where condition order by expression return expression_xquery for pour sélectionner une séquence de noeuds, chaque élément étant stocké dans la variable $var let pour lier une séquence à une variable (sans itération) where pour filtrer les noeuds (prédicats reliés par and/or) order by pour trier les noeuds (ascending, descending) return pour retourner un résultat par noeud (seule clause obligatoire) BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 52 / 55

54 Comparaisons et fonctions en XQuery Deux symboles pour les mêmes comparaisons : =,!=, <, <=, >, >= (comparaison vérifiée au moins une fois) eq, ne, lt, le, gt, ge (comparaison vérifiée obligatoirement une seule fois) Possibilité d un if - then - else dans la clause return Mêmes fonctions et opérateurs que XPath : fn:round(), fn:contains(), fn:substring(), etc. 198 for $x in doc("collection.xml")/collection/serie/tome 199 where $x/annee > 2000 and contains($x, "g") 200 order by $x/titre 201 return $x/titre La fonction doc() permet d ouvrir un document XML, elle est ici suivie d une expression XPath BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 53 / 55

55 Exemple de requête FLWOR 211 for $to in //tome 212 let $ti := $to/titre 213 where > order by $ti descending 215 return 216 <album >{ $to/@numero} 217 {$ti} 218 <serie >{ $to/../ nom/text()}</serie > 219 </album > BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 54 / 55

56 Exemple de requête FLWOR 211 for $to in //tome 212 let $ti := $to/titre 213 where > order by $ti descending 215 return 216 <album >{ $to/@numero} 217 {$ti} 218 <serie >{ $to/../ nom/text()}</serie > 219 </album > Le résultat (clause return) mélange des balises XML avec des expressions XQuery pour construire un nouveau document BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 54 / 55

57 Bilan Syntaxe d un document XML Définition d un schéma pour un document avec XSD (XML Schema) Sélection de chemins dans un document avec XPath Interrogation de document avec XQuery BDBIO - Base de données pour la bioinformatique // XML et XQuery UCBL Lyon 1 55 / 55

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 18 2.2 Votre premier document XML 19 2.3 Les avantages de XML 21 3. La syntaxe XML 21 3.1 La première ligne du

Plus en détail

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition XML par la pratique Bases indispensables Concepts et cas pratiques 3 ième édition Nouvelle édition Thierry BOULANGER Table des matières 1 Les éléments à télécharger sont disponibles à l'adresse suivante

Plus en détail

Master d Informatique Corrigé du partiel novembre 2010

Master d Informatique Corrigé du partiel novembre 2010 Universités d Aix-Marseille I & II Technologies XML Master d Informatique Corrigé du partiel novembre 2010 Année 2010-11 Documents autorisés Exercice 1 : Documents XML et Applications XML (4 points) Georges,

Plus en détail

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr Module BDWEB Maîtrise d informatique Cours 9 - Xquery Anne Doucet anne.doucet@lip6.fr 1 Langages de requêtes XML Concepts des langages de requêtes XML motivations caractéristiques Navigation dans les documents

Plus en détail

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv> Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee

Plus en détail

Accès à l'information XML par des requêtes XQuery au travers de son XSchema

Accès à l'information XML par des requêtes XQuery au travers de son XSchema Rapport projet de fin d étude ASR Accès à l'information XML par des requêtes XQuery au travers de son XSchema Réalisé par : DAB Marwa MGARRECH Oussama Encadré par : Mme LOPES GANCARSKI Alda 2011/2012 Remerciements

Plus en détail

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement

Plus en détail

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014 pascal.dayre@enseeiht.

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014 pascal.dayre@enseeiht. Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS IDS2014, Nailloux 26-28/05/2014 pascal.dayre@enseeiht.fr 1 MVC et le web 27/05/14 2 L'évolution des systèmes informatiques

Plus en détail

OCL - Object Constraint Language

OCL - Object Constraint Language OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object

Plus en détail

PIVOT. Pivot/Querier Documentation technique XML/XSD/XSLT

PIVOT. Pivot/Querier Documentation technique XML/XSD/XSLT Réf. : Pivot/Querier Auteur : JM. DERUYTER Rév. : 1.3 Rév. Date : 05/05/15 Distribution : Normale * Restreinte 1. Confidentielle PIVOT Pivot/Querier Documentation technique XML/XSD/XSLT Table des matières

Plus en détail

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

Plus en détail

Faculté Polytechnique de Mons. Le processus d Extraction, Transformation et Load (ETL) dans des entrepôts de données XML

Faculté Polytechnique de Mons. Le processus d Extraction, Transformation et Load (ETL) dans des entrepôts de données XML Faculté Polytechnique de Mons Johnny TSHEKE SHELE Le processus d Extraction, Transformation et Load (ETL) dans des entrepôts de données XML Travail de fin d études présenté en vue de l obtention du grade

Plus en détail

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

Plus en détail

Le langage SQL Rappels

Le langage SQL Rappels Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013 UML Diagramme de communication (communication diagram) 2013 Diagramme de communication (communication diagram) Utilisation / objectifs Sens Ce diagramme présente des objets, des acteurs, des liens et des

Plus en détail

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch Faculté de Génie Chaire industrielle en infrastructures de communication La technologie XML Wajdi Elleuch Octobre 2004 SOMMAIRE Content : - XML : Définition - XML : Solution pour des applications réparties

Plus en détail

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

Les bases de données

Les bases de données Les bases de données Introduction aux fonctions de tableur et logiciels ou langages spécialisés (MS-Access, Base, SQL ) Yves Roggeman Boulevard du Triomphe CP 212 B-1050 Bruxelles (Belgium) Idée intuitive

Plus en détail

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8 Sage 100 CRM - Guide de la Fusion Avancée Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel est enregistré

Plus en détail

La base de données XML exist. A. Belaïd

La base de données XML exist. A. Belaïd La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques

Plus en détail

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT FileMaker Server 11 Publication Web personnalisée avec XML et XSLT 2007-2010 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker est une

Plus en détail

Programmation des Applications Réparties. Parsers XML DOM et SAX

Programmation des Applications Réparties. Parsers XML DOM et SAX Programmation des Applications Réparties Parsers XML DOM et SAX Luiz Angelo Steffenel luiz-angelo.steffenel@univ-reims.fr Steffenel Programmation des Applications Réparties Master M1-2007-2008 1 Comment

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

Plus en détail

SQL Parser XML Xquery : Approche de détection des injections SQL

SQL Parser XML Xquery : Approche de détection des injections SQL SQL Parser XML Xquery : Approche de détection des injections SQL Ramahefy T.R. 1, Rakotomiraho S. 2, Rabeherimanana L. 3 Laboratoire de Recherche Systèmes Embarqués, Instrumentation et Modélisation des

Plus en détail

L architecture des services Web

L architecture des services Web Chapitre 1 L architecture des services Web La combinaison des canons esthétiques et idéaux politiques, reflets de leur époque, et de la généralisation de nouveaux matériaux préside souvent au développement

Plus en détail

Design et implémentation d un logiciel de validation et de génération de configurations réseaux

Design et implémentation d un logiciel de validation et de génération de configurations réseaux Département d Ingénierie Informatique Design et implémentation d un logiciel de validation et de génération de configurations réseaux Laurent Vanbever Grégory Pardoen Mémoire présenté sous la direction

Plus en détail

Langage SQL : créer et interroger une base

Langage SQL : créer et interroger une base Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,

Plus en détail

Programmation Web Avancée Introduction aux services Web

Programmation Web Avancée Introduction aux services Web 1/21 Programmation Web Avancée Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017

Plus en détail

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Chapitre VIII. Les bases de données. Orientées Objet. Motivation Chapitre VIII Motivation Le modèle relationnel connaît un très grand succès et s avère très adéquat pour les applications traditionnelles des bases de données (gestion) Les bases de données Orientées Objet

Plus en détail

PROSOP : un système de gestion de bases de données prosopographiques

PROSOP : un système de gestion de bases de données prosopographiques PROSOP : un système de gestion de bases de données prosopographiques Introduction : Ce document présente l outil en développement PROSOP qui permet la gestion d'une base de donnée prosopographique de la

Plus en détail

Optimisation des échanges et traitements XML

Optimisation des échanges et traitements XML Optimisation des échanges et traitements XML 20/11/2007 Rachid Khamliche Section Recherches Sommaire XML : un standard incontournable Faiblesses du standard XML Optimisation des échanges XML Optimisation

Plus en détail

Rappel sur les bases de données

Rappel sur les bases de données Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant

Plus en détail

BASE DE DONNÉES XML NATIVE

BASE DE DONNÉES XML NATIVE BASE DE DONNÉES XML NATIVE NXDB - exist - XQuery IvMad, 2011-2012 2 1. exist exist-db Open Source Native XML Database Ce cours s inspire, reprend, modifie et enrichi des supports disponibles sur Internet

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

XML : documents et outils

XML : documents et outils XML : documents et outils Pierre-Alain Reynier Université de Provence pierre-alain.reynier@lif.univ-mrs.fr http://www.lif.univ-mrs.fr/~preynier/xml Cours adapté du travail de Rémi Eyraud, Silvano Dal Zilio...

Plus en détail

Le langage SQL (première partie) c Olivier Caron

Le langage SQL (première partie) c Olivier Caron Le langage SQL (première partie) 1 Plan Le S.G.B.D. postgres Le langage SQL Langage de manipulation de données Langage de requêtes 2 Quelques mots sur Postgres (1/2) Travaux de Stonebraker (Univ. Berkeley)

Plus en détail

Qu'est-ce que XML? XML : Extensible Markup Language. Exemple de document SGML SGML

Qu'est-ce que XML? XML : Extensible Markup Language. Exemple de document SGML SGML XML : Extensible Markup Language SGML Une introduction (1) http://kiwi.emse.fr/3a/dn.html Ph. Jaillon / J.J. Girardot J.J. GIRARDOT - EMSE 10/2004 1 Standard Generalized Markup Language Norme ISO-8879

Plus en détail

Outils logiciels pour l'ingénierie documentaire

Outils logiciels pour l'ingénierie documentaire Ingénierie Documentaire Outils logiciels pour l'ingénierie documentaire http://doc.crzt.fr STÉPHANE CROZAT 16 octobre 2014 Table des matières I - L'IDE XML Oxygen 5 A. Fichiers XML...5 B. Schémas XML...6

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million XML, PMML, SOAP Rapport EPITA SCIA Promo 2004 16 janvier 2003 Julien Lemoine Alexandre Thibault Nicolas Wiest-Million i TABLE DES MATIÈRES Table des matières 1 XML 1 1.1 Présentation de XML.................................

Plus en détail

Architectures Web Services RESTful

Architectures Web Services RESTful Architectures Web Services RESTful Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 REST REST Representational State Transfer Roy Fielding (2000) Décollage vers 2006-2007

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de

Plus en détail

Présentation du PL/SQL

Présentation du PL/SQL I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

Chapitre IX. L intégration de données. Les entrepôts de données (Data Warehouses) Motivation. Le problème

Chapitre IX. L intégration de données. Les entrepôts de données (Data Warehouses) Motivation. Le problème Chapitre IX L intégration de données Le problème De façon très générale, le problème de l intégration de données (data integration) est de permettre un accès cohérent à des données d origine, de structuration

Plus en détail

XML avec Oracle. Par Christian Soutou. Maître de conférences, IUT de Blagnac, Université de Toulouse Le Mirail

XML avec Oracle. Par Christian Soutou. Maître de conférences, IUT de Blagnac, Université de Toulouse Le Mirail XML DB est le nom de l'outil d Oracle destiné à gérer des contenus XML en base de données relationnelle. Cet article fait le point sur cette technologies et en présente les avantages illustré de nombreux

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire

Plus en détail

1 Introduction et installation

1 Introduction et installation TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on

Plus en détail

Catalogue des formations Edition 2015

Catalogue des formations Edition 2015 Antidot - Formations Catalogue des formations Edition 2015 : catalogue_formation_2015 Révision du 06.01.2015 Sommaire!!"##$%&'( )! $*$+,(-'(."##'+.'&( /!,'.0+"1"2%'( /!!."3'( /! $(3&"3"!(-4(5(.$,$1"24'(-'!(6"&#$,%"+!(7('-%,%"+()89:(;(

Plus en détail

Gestion Électronique de Documents et XML. Master 2 TSM

Gestion Électronique de Documents et XML. Master 2 TSM Gestion Électronique de Documents et XML Master 2 TSM I n t r o d u c t i o n Les formats de données F o r m a t s d e d o n n é e Format de donnée : manière de représenter des informations dans un document

Plus en détail

Classes et Objets en Ocaml.

Classes et Objets en Ocaml. Classes et Objets en Ocaml. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/2/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/2/ Cours Exercices Slide 1 1. Objets 2.

Plus en détail

Bases de données - Modèle relationnel

Bases de données - Modèle relationnel Bases de données - Modèle relationnel Introduction SITE :http://www.univ-orleans.fr/lifo/members/mirian.halfeld/ BD - Mírian Halfeld-Ferrari p. 1 Les bases de données - Bibliographie Ullman and Widom,

Plus en détail

Structure fonctionnelle d un SGBD

Structure fonctionnelle d un SGBD Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert

Plus en détail

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE Cas Neptune hôtel Base de données et langage SQL Propriété Intitulé long Formation concernée Matière Notions Transversalité Présentation Description Neptune Hôtel. L interrogation d une base de données

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué

Plus en détail

Architectures d'intégration de données

Architectures d'intégration de données Architectures d'intégration de données Dan VODISLAV Université de Cergy-ontoise Master Informatique M1 Cours IED lan Intégration de données Objectifs, principes, caractéristiques Architectures type d'intégration

Plus en détail

Document Object Model (DOM)

Document Object Model (DOM) Document Object Model (DOM) Jean-Claude Charr Maître de conférences IUT de Belfort Montbéliard Université de Franche Comté Description générale Définit un standard pour accéder aux documents structurés

Plus en détail

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5 1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases

Plus en détail

Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan

Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan RDF sur le Web Micro-formats Micro-données RDFa Vocabulaires communs Dublin Core, FOAF, SKOS Linked Open Data Architecture

Plus en détail

BASE DE DONNÉES XML NATIVE

BASE DE DONNÉES XML NATIVE BASE DE DONNÉES XML NATIVE Ivan Madjarov NXDB - exist - XQuery IvMad, 2011-2013 2 1. exist exist-db Open Source Native XML Database Ce cours s inspire, reprend, modifie et enrichi des supports disponibles

Plus en détail

UML et les Bases de Données

UML et les Bases de Données CNAM UML et les Bases de Données UML et les Bases de Données. Diagramme de classes / diagramme d objets (UML)...2.. Premier niveau de modélisation des données d une application...2.2. Les éléments de modélisation...2.2..

Plus en détail

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

Séance 1 Introduction aux bases de données

Séance 1 Introduction aux bases de données Introduction aux bases de données Séance 1 Introduction aux bases de données Sébastien Combéfis mardi 24 février 2015 Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons

Plus en détail

BES WEBDEVELOPER ACTIVITÉ RÔLE

BES WEBDEVELOPER ACTIVITÉ RÔLE BES WEBDEVELOPER ACTIVITÉ Le web developer participe aux activités concernant la conception, la réalisation, la mise à jour, la maintenance et l évolution d applications internet/intranet statiques et

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

Utilitaires méconnus de StrataFrame

Utilitaires méconnus de StrataFrame Utilitaires méconnus de StrataFrame Voici quelques classes d utilitaires, parmi ceux qui se trouvent dans le NameSpace MicroFour.StrataFrame.Tools. Cette liste n est pas exhaustive, et les regroupements

Plus en détail

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

XML et Bases de données. Les bases de données XML natives. XML et Bases de données. Les bases de données XML natives. 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

Plus en détail

Formation : WEbMaster

Formation : WEbMaster Formation : WEbMaster Objectif et Description : Centre Eclipse vous propose une formation complète WebMaster, vous permettant de : Utiliser dès maintenant les nouveautés du web2, ainsi alléger les besoins

Plus en détail

GOL502 Industries de services

GOL502 Industries de services GOL502 Industries de services Conception d un service Partie IIb Version 2013 Introduction Conception d un service partie IIb Nous verrons dans ce chapitre Modélisation d un service; Langage de modélisation

Plus en détail

Master Technologies numériques appliquées à l'histoire Deuxième année

Master Technologies numériques appliquées à l'histoire Deuxième année Master Technologies numériques appliquées à l'histoire Deuxième année Octobre 2014 Octobre Novembre Décembre Semaine 1 Semaine 2 Semaine 3 Semaine 4 Semaine 5 Semaine 6 Semaine 7 Semaine 8 Semaine 9 Semaine

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Bases de données avancées Introduction

Bases de données avancées Introduction Bases de données avancées Introduction Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA Plan Objectifs et contenu du cours Rappels BD relationnelles Bibliographie Cours BDA (UCP/M1)

Plus en détail

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées ANNEE 2014 / 2015 Désignation de l enseignement : Bases de données Nom du document : TP SQL sous PostgreSQL Rédacteur :

Plus en détail

PHP 5. La base de données MySql. A. Belaïd 1

PHP 5. La base de données MySql. A. Belaïd 1 PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple

Plus en détail

Java DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

NFE204 Bases de données avancées

NFE204 Bases de données avancées NFE204 Bases de données avancées Bases de données documentaires et NOSQL Philippe Rigaux, Nicolas Travers Conservatoire National des Arts et Métiers October 8, 2013 WebDam (CNAM) NFE204 Bases de données

Plus en détail

XML et recherche d information

XML et recherche d information Chapitre 4 XML et recherche d information 4.1. Introduction La nature des collections de documents électroniques évolue. Elles intègrent de plus en plus des meta-informations et notamment des informations

Plus en détail

MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE

MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE MINISTÈRE DU TRAVAIL, DE l EMPLOI ET DE LA SANTÉ MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE MINISTÈRE DU BUDGET, DES COMPTES PUBLICS ET DE LA RÉFORME DE L ÉTAT Standard d'interopérabilité entre

Plus en détail

Les services usuels de l Internet

Les services usuels de l Internet Les services usuels de l Internet Services principaux (applications) disponibles sur l Internet Courrier électronique (mail) - protocole SMTP (Simple Mail Transfer Protocol) inclut maintenant tous types

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL Un bus de services Un bus de services (ESB) permet d assembler des web services existants, le résultat de cet

Plus en détail

Bases de Données relationnelles et leurs systèmes de Gestion

Bases de Données relationnelles et leurs systèmes de Gestion III.1- Définition de schémas Bases de Données relationnelles et leurs systèmes de Gestion RAPPELS Contraintes d intégrité sous Oracle Notion de vue Typage des attributs Contrainte d intégrité Intra-relation

Plus en détail

Machines virtuelles fonctionnelles (suite) Compilation ML Java

Machines virtuelles fonctionnelles (suite) Compilation ML Java Machines virtuelles fonctionnelles (suite) Compilation ML Java Cours de Compilation Avancée (MI190) Benjamin Canou Université Pierre et Maire Curie Année 2011/2012 Semaine 3 Machines virtuelles fonctionnelles

Plus en détail

Master I Génie Logiciel

Master I Génie Logiciel 1. Introduction Master I Génie Logiciel Dr. Imed Bouchrika Dept de Mathematique & Informatique Université de Souk-Ahras imed@imed.ws Amira Hakim, Mariem Sari, Sara Khelifi & Imed Bouchrika University of

Plus en détail

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7 Sommaire 1-Introduction 2 1-1- BPM (Business Process Management)..2 1-2 J-Boss JBPM 2 2-Installation de JBPM 3 2-1 Architecture de JOBSS JBPM 3 2-2 Installation du moteur JBoss JBPM et le serveur d application

Plus en détail

Paris Airports - Web API Airports Path finding

Paris Airports - Web API Airports Path finding Paris Airports - Web API Airports Path finding Hackathon A660 Version Version Date writer Comment 1.0 19/05/2015 Olivier MONGIN Document creation Rédacteur : Olivier.MONGIN@adp.fr Date : 19/05/2015 Approbateur

Plus en détail

Java et les bases de données

Java et les bases de données Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples

Plus en détail

SII Stage d informatique pour l ingénieur

SII Stage d informatique pour l ingénieur SII Stage d informatique pour l ingénieur Création d un site Web École nationale supérieure de techniques avancées SII Stage d informatique pour l ingénieur 1 / 15 L informatique et le temps qui passe...

Plus en détail

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection

Plus en détail