XPath. Introduction 1/35. I Des langages de transformation (XSLT, XSL-FO) I le choix entre stockage dans un SGBD relationnel étendu, ou dans un.
|
|
- Augustin Sénéchal
- il y a 7 ans
- Total affichages :
Transcription
1 Introduction 1/35 2/35 Anne-Cécile Caron Master MIAGE - BDA 1er trimestre Introduction Vous connaissez déjà depuis la licence : I Des langages de définition de schéma (DTD, XML-schema) I Des langages de transformation (XSLT, XSL-FO) Nous avons vu au cours précédent : I le lien entre Bases de données et XML I le choix entre stockage dans un SGBD relationnel étendu, ou dans un SGBD XML natif I l enrichissement de SQL pour pouvoir générer/manipuler du XML. Introduction Modèle de données 3/35 4/35 Introduction Nous allons voir aujourd hui et aux cours suivants : I et XQuery pour interroger des données XML I XUpdate pour modifier des données XML I Les espaces de nom, pour échanger des vocabulaires, des schémas et éviter les conflits de noms Le cours d aujourd hui utilise amplement le livre de Serge Abiteboul et al, Web Data Management ainsi que les documents du W3C. Arbre XML I Un document XML est vu comme un arbre de noeuds I on a di érentes sortes de noeuds I Document : le noeud racine du document XML, noté / I Element : les noeuds éléments qui correspondent aux balises I Attribut : un noeud attribut est attaché à un noeud élément I Texte : les feuilles sans balise Il existe aussi des noeuds processing instructions, des noeuds commentaires, et des noeuds pour les espaces de noms, mais ils sont moins fréquents. Pour alléger le cours, on va les ignorer dans un premier temps. On peut représenter un document XML sous sa forme sérialisée, ou sous la forme d un arbre.
2 Modèle de données Modèle de données 5/35 6/35 Exemple <?xml version="1.0" encoding="utf-8"?> <A> <B att1= 1 > <D>Text 1</D> <D>Text 2</D> </B> <B att1= 2 > <D>Text 3</D> </B> <C att2="a" att3="b"/> </A> Vocabulaire I Ordre du document : pour faire simple, c est l ordre des noeuds lorsqu on considère la représentation sérialisée. I un arbre possède 1 noeud document appelé noeud racine, et ce noeud racine a 1 unique fils élément, appelé élément racine. I Nom et Valeur : 1. un noeud élément a un nom (celui de la balise) mais pas de valeur 2. un noeud texte a une valeur mais pas de nom 3. un noeud attribut a à la fois un nom et une valeur I Content : le contenu d un noeud N dans un arbre XML est le sous-arbre ayant pour racine ce noeud N I Textual content : le contenu textuel d un noeud N est la concaténation des valeurs des noeuds textes descendants de N Modèle de données 2.0 7/35 8/35 Séquence I Un arbre modélise un document XML, une séquence modélise une collection ordonnées d items, un item étant une valeur atomique ou un noeud I Attention : I dans le modèle de 1.0, on manipulait des ensembles de noeuds, donc une collection non-ordonnée et sans doublons. I Dans 2.0 (et donc XQuery) : Le résultat d une requête est une séquence d items (noeuds ou valeurs atomiques), donc une collection ordonnée avec possibilité de doublons. I Pour construire une séquence, on utilise les parenthèses avec la virgule pour concaténation, et l opérateur to pour définir un intervalle. I (10, 1, 2, 3, 4) séquence d entiers I (10, (1, 2), (), (3, 4)) la même séquence I (10, 1 to 4) encore la même séquence I 1.0 recommandation W3C depuis 1999, utilisé pour XSLT 1.0 juste des expressions de chemin. I 2.0 recommandation W3C depuis janvier 2007, fragment de XQuery 1.0 et utilisé dans XSLT 2.0. itération for, conditionnelle if, opérateurs sur les séquences, I Rappelons que dans le modèle de 1.0, le résultat est un ensemble de noeuds, alors que dans le modèle de 2.0, le résultat est une séquence d items. I est un language composable : on peut utiliser une expression comme opérande/paramètre, partout où une séquence est attendue.
3 /35 10 / 35 Expression de chemin I Une telle expression I s évalue en fonction d un noeud contexte I désigne zéro, un ou plusieurs chemins dans l arbre à partir du noeud contexte I apourrésultatuneséquence(pour2.0) I Une expression de chemin est formée d une succession d étapes séparées par /. I On distingue 2 cas : 1. expression absolue qui commence par /. Lenoeudcontexteestle noeud racine. 2. expression relative qui ne commence pas par /. Lenoeudcontexte n est pas forcément le noeud racine, et dépend du contexte d utilisation de l expression. Etape Une étape s écrit : axe::filtre[predicat1][predicat2] I axe : sens de navigation dans l arbre par rapport au noeud contexte (par défaut, c est child) I filtre : type des noeuds souhaités I prédicats : propriétés que doivent vérifier les noeuds. Les prédicats sont facultatifs, et il existe une syntaxe abrégée pour axe::filtre. Une étape I s évalue en fonction d un noeud contexte I a pour résultat une séquence (pour 2.0) / / 35 Exemples I /A/B : expression de chemin absolue, qui a pour résultat la séquence des noeuds éléments de nom B, filsdel élémentracinea. I./B/descendant::text() : expression relative, qui a pour résultat la séquence des noeuds textes descendant d un élément B lui même fils du noeud contexte. I /A/B[@att1=2] : expression absolue qui donne la séquence des noeuds éléments de nom B, fils de l élément racine A, dont l attribut att1 vaut 2. Par la suite, nous allons poser des requêtes sur un documents qui contient des informations sur des eaux minérales. Ce documents se divise en 3 parties : 1. une liste des bouteilles d eau stockées. Chaque bouteille possède un code barre et contient une eau. 2. une liste des eaux avec leur nom, source, composition, ph, 3. une liste des produits chimiques (des minéraux) trouvés dans les eaux
4 / / 35 DTD Exemple Les déclaration des éléments contenant des PCDATA ont été enlevées. <!ELEMENT cave (bouteilles, eaux, produits)> <!ELEMENT bouteilles (bouteille)*> <!ELEMENT bouteille (codebarre,volume)> <!ATTLIST bouteille ref_eau IDREF #IMPLIED> Document Exemple D1 E1 cave <!ELEMENT eaux (eau)*> <!ELEMENT eau (nom_eau, source, composition, ph)> <!ATTLIST eau id ID #REQUIRED> E2 bouteilles E6 eaux <!ELEMENT source (nom_source, dept)> <!ELEMENT composition (taux)*> <!ATTLIST taux ref_produit IDREF #REQUIRED> <!ELEMENT produits (produit)*> <!ELEMENT produit (nom_produit, formule)> <!ATTLIST produit id ID #REQUIRED> A1 ref eau E4 codebarre T1 E3 bouteille E5 volume T2 E7 eau A2 id E8 nom eau T / / 35 Evaluation d une expression /descendant::eau/child::nom_eau/child::text() I Au départ, comme c est une expression absolue, le noeud contexte est le noeud document. I Etape 1 : noeuds éléments eau descendant du noeud racine /descendant::eau/child::nom_eau/child::text() I L étape k est interprétée en fonction du résultat de l étape k 1. I Etape 2 : Pour chaque noeud contexte n résultat de l étape 1, trouver les noeuds éléments nom_eau fils de n.
5 / / 35 /descendant::eau/child::nom_eau/child::text() I Etape 3 : Pour chaque noeud contexte n résultat de l étape 2, trouver les noeuds textes fils de n. I Serialisation du résultat : CristallineCristallineVolvicEvian Les filtres Un filtre permet de sélectionner par un nom ou par un type de noeud. Un filtre peut être : I Un nom d élément ou d attribut I Le caractère * qui sélectionne tous les objets de même nature, uniquement éléments ou attributs : I child::* sélectionne tous les éléments fils du noeud courant, I attribute::* sélectionne tous les attributs du noeud courant. I comment() qui sélectionne les noeuds de type commentaire I text() qui sélectionne les noeuds de type texte I node() qui sélectionne les noeuds de n importe quel type. I processing-instruction() qui sélectionne les noeuds de type P.I. I / / 35 Les axes I child : sélectionne les noeuds fils du noeud courant, sauf les noeuds attributs. I parent : le noeud père du noeud courant. I descendant : les noeuds descendants du noeud courant, sauf les noeuds attributs I ancestor : les éléments ancêtres I self : le noeud courant lui-même I ancestor-or-self, descendant-or-self I following-sibling (preceding-sibling) : les noeuds frères droits (les noeuds frères gauches) I following (preceding) : les noeuds non attributs dont la balise ouvrante (fermante) apparaît après (avant) dans le document, à l exception des noeuds descendants et ancêtres. I attribute : les noeuds attributs de l élément courant I namespace : les espaces de noms child et parent I L étape child::nom_eau donne les noeuds éléments nom_eau fils des noeuds de l étape précédente. Le filtre est un nom d élément. I child::* donne tous les noeuds éléments fils du noeud contexte, peu importe leur nom. I child::text() donne les noeuds textes fils des noeuds de l étape précédente. Le filtre est un type de noeuds. I child étant l axe par défaut, on peut l omettre : /descendant::eau/nom_eau/text() I parent::node() peut être abrégé en.. Par exemple, /descendant::text()/.. donne tous les noeuds parents des noeuds textes. I Les noeuds attributs ont un parent, pourtant les noeuds attributs ne font pas partie des fils de leur parent. /descendant::eau/attribute::id/parent::* Cette requête donne tous les éléments eau ayant un attribut id et descendants de la racine.
6 / / 35 attribute I Cet axe permet de sélectionner les noeuds attributs du noeud contexte I Le filtre est soit un nom d attribut, soit * pour n importe quel nom I attribute::nom est équivalent attribute::* est équivalent I Comme on l a vu pour child et parent, on peut appliquer un axe sur un attribut, mais les attributs ne sont pas sélectionnés par les axes di érents de attribute. Par exemple: //produit/@id/following-sibling::node() sélectionne (entre autres) un noeud élément nom_produit, mais //nom_produit/preceding-sibling::node() ne sélectionne pas de noeud attribut. descendant et ancestor I L axe descendant donne les noeuds descendants du noeud courant, sauf les noeuds attributs. I Le noeud contexte ne fait pas partie du résultat de descendant, mais il est inclus dans descendant-or-self. I L axe ancestor donne les noeuds ancêtres, y compris la racine du document. I Le noeud contexte ne fait pas partie du résultat de ancestor, mais il est inclus dans ancestor-or-self. I /descendant-or-self::node()/ peut être remplacé par // / / 35 following-sibling et preceding-sibling //eaux/eau/preceding-sibling::node() following et preceding /cave/eaux/following::* Donne les éléments (filtre *) qui sont après eaux dans l ordre du document. Tous les noeuds (sur l exemple noeuds éléments et commentaire) frères gauches d un élément eau. En remplaçant le filtre * par node(), onauralesnoeudséléments,textes, commentaires, mais pas les noeuds attributs.
7 / / 35 Les prédicats I Un prédicat est une expression qui peut être évaluée à vrai ou faux I En fait, n importe quelle expression convient! I Voici comment convertir une expression en une valeur booléenne : I Une séquence vide vaut faux I Une séquence dont le premier item est un noeud vaut vrai I Un singleton qui contient une valeur booléenne vaut cette valeur. I Un singleton qui contient une chaîne de caractère vaut vrai ssi cette chaîne est non vide I Un singleton qui contient un nombre vaut vrai pour un nombre di érent de 0, faux sinon. Les prédicats (suite) I Dans une expression, axe::filtre donne comme résultat une séquence de noeuds. Le prédicat qui suit s applique sur chacun des noeuds de la séquence. Pour chaque noeud, si le prédicat vaut vrai, le noeud est conservé, sinon le noeud est rejeté. I On peut enchaîner des prédicats en les juxtaposant : [p1][pk]. I Un prédicat peut être composé d autres prédicats grâce aux opérateurs and et or. I Un prédicat peut être une égalité ou une inégalité définie à l aide des opérateurs!= < > <= >= I Les prédicats peuvent utiliser une fonction portant sur les noeuds. I Attention à la comparaison de 2 séquences : quantification existentielle (1 2) = (2 3) vaut vrai, donc l égalité n est pas transitive!! / / 35 Quelques fonctions I id("valeur") : retourne l élément dont l identifiant vaut "valeur". Onpeutpasseruneséquencedevaleursenparamètre,le résultat est la séquence des éléments correspondants, sans doublons. il faut qu il y ait une déclaration d attribut de type ID dans la DTD pour que ça fonctionne. I position() : retourne la position du noeud dans la séquence. La première position vaut 1, la dernière vaut last(). I count(séquence-de-noeuds) Retourne le nombre de noeuds présents dans la séquence I not(predicat) renvoie vrai ssi predicat a la valeur faux. I manipulation de chaînes de caractères : contains, concat I fonctions numériques : somme, valeur arrondie, Exemples de requêtes avec prédicats //nom_eau[text()="volvic"]/ noeud élément <eau id="e3"> <nom_eau>volvic</nom_eau> <source> </source> <composition> </composition> <ph>7</ph> </eau> /cave//*[@id="e2"]/following-sibling::* -- 2 noeuds éléments : <eau id="e3"> </eau> <eau id="e4"> </eau>
8 / / 35 Exemples avec des fonctions //produit[position()=2] -- le deuxième produit dans l ordre du document /cave/*/*[position()=1] -- le premier fils de chaque noeud résultat de l étape 2, donc 3 noeuds : <bouteille ref_eau="e1"></bouteille> <eau id="e1"></eau> <produit id="cal"></produit> Résumé des abréviations possibles I child:: peut être omis I attribute:: peut être remplacé I /descendant-or-self::node()/ peut être remplacé par // I self::node() peut être remplacé par un point. I parent::node() peut être remplacé par.. I [position()=x] peut s écrire [x] //produit[formule/text()="mg+"][position()=2] -- pas de résultat car //produit[formule/text()="mg+"] ramène un singleton count(/cave/eaux/following::*) -- 1 item valeur 16 /id(//bouteille[position()=2]/@ref_eau)/composition -- la fonction id() s applique à l identifiant de l eau de la seconde -- bouteille et a pour résultat le noeud référencé (donc un élément eau) -- On obtient ici la composition de de cette eau / / 35 Opérateurs ensemblistes sur les séquences opérateurs ensemblistes union (noté aussi ), intersect, except //bouteille union //eau //(bouteille union eau) //bouteille union //bouteille -- identique à //bouteille, donc pas de doublon Composabilité : (exp1 ope exp2) étant une expression, elle peut être utilisée comme étape d une expression de chemin : //(bouteille union eau)/* -- tous les fils (non attributs) des éléments bouteille et eau Instruction conditionnelle if ( Expression ) then Expression else Expression Le else est obligatoire, car une expression a toujours une valeur de type Séquence (composabilité). if (count(//bouteille)>2) then //codebarre else //volume -- renvoie 5 éléments codebarre //bouteille/(if (./volume>50) then./codebarre else./volume) -- renvoie 5 items : <codebarre> </codebarre> <volume>50</volume> <codebarre> </codebarre> <volume>50</volume> <codebarre> </codebarre> -- le else est obligatoire mais on peut renvoyer la séquence vide () //bouteille/(if (./volume>50) then./codebarre else ()) -- renvoie 3 items
9 / / 35 Expression quantifiée C est une expression booléenne, avec des variables toutes quantifiées existentiellement (some) ou universellement (every). some $var_1 in Expression_1,, $var_k in Expression_k satisfies Expr every $var_1 in Expression_1,, $var_k in Expression_k satisfies Expr La boucle For for $var_1 in Expression_1,, $var_k in Expression_k return Expression Exemple : for $b in //bouteille, $e in id($b/attribute::ref_eau) return $e Par exemple some $x in (1, 2, 3), $y in (2, 3, 4) satisfies $x + $y = 4 -- vaut vrai every $x in (1, 2, 3), $y in (2, 3, 4) satisfies $x + $y = 4 -- vaut faux some $x in //eau[1]/composition/taux/@ref_produit satisfies $x = "cal" -- vaut vrai car il y a du calcium dans la première eau Conclusion 35 / 35 Conclusion I 2.0 est un peu plus expressif que 1.0, même si la base est formée des expressions de chemins présentes dans 1.0 I Une expression renvoie une séquence d items, sur lesquels on peut à nouveau appliquer une expression : langage composable. I Avec, on sélectionne des noeuds. Pour structurer le résultat, utiliser un langage comme XQuery 1.0, qui est un sur-ensemble de 2.0
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étailExpression 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étailXML 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étailOCL - 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étail1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Plus en détailCRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING
CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING Durée : 3J / 21H Formateur : Consultant expert en PAO et Web-marketing. Groupe de : 4 max Formation au web marketing Objectifs : Mettre en oeuvre des
Plus en détailPlan. 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étailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailLangage 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étailThierry 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étailLangage 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étailLes structures de données. Rajae El Ouazzani
Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l
Plus en détailSTAGE 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étailProgrammation 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étailEvolution 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étailInitiation à la programmation en Python
I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de
Plus en détailNoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)
1/23 2/23 Anne-Cécile Caron Master MIAGE - BDA 1er trimestre 2013-2014 I : Not Only SQL, ce n est pas du relationnel, et le contexte d utilisation n est donc pas celui des SGBDR. I Origine : recherche
Plus en détailMaster 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étailExcel avancé. Frédéric Gava (MCF) gava@univ-paris12.fr
Excel avancé Frédéric Gava (MCF) gava@univ-paris12.fr LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex Rappels et compléments
Plus en détailLes arbres binaires de recherche
Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s
Plus en détailDocument 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étailLangage 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étailNFE204 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étailBases de données cours 4 Construction de requêtes en SQL. Catalin Dima
Bases de données cours 4 Construction de requêtes en SQL Catalin Dima Requêtes SQL et langage naturel Énoncés en langage naturel. Traduction en SQL? Correspondance entre syntagmes/phrases et opérations
Plus en détailAlgorithmique et programmation : les bases (VBA) Corrigé
PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi
Plus en détailPré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étailLicence 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étailLogiciel de Base. I. Représentation des nombres
Logiciel de Base (A1-06/07) Léon Mugwaneza ESIL/Dépt. Informatique (bureau A118) mugwaneza@univmed.fr I. Représentation des nombres Codage et représentation de l'information Information externe formats
Plus en détailTable 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étailIN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Plus en détailCours d algorithmique pour la classe de 2nde
Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage
Plus en détailXML, 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étailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Plus en détailDécouverte de Python
Découverte de Python Python est un des langages informatiques au programme des concours à partir de la session 2015. Ce tutoriel vous permettra de vous mettre à peu près à niveau de ce qui a été fait en
Plus en détailMaster 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étailChap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1
Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-
Plus en détailLes 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étailBD et XML : Exercices
BD et XML : Exercices 1 Stockage XML Voici un arbre XML : A B E C F C F C F D C C D D D 1.1 Stockage générique Exercice 1.1.1 : Définissez un schéma de stockage relationnel générique (sans prendre en compte
Plus en détailPROSOP : 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étailCours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.
Université Montpellier-II UFR des Sciences - Département Informatique - Licence Informatique UE GLIN302 - Programmation Applicative et Récursive Cours No 3 : Identificateurs, Fonctions, Premières Structures
Plus en détail1 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Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailPré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étailBASE 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étailTP3 : Manipulation et implantation de systèmes de fichiers 1
École Normale Supérieure Systèmes et réseaux Année 2012-2013 TP3 : Manipulation et implantation de systèmes de fichiers 1 1 Répertoire de travail courant Le but de l exercice est d écrire une commande
Plus en détailUE 8 Systèmes d information de gestion Le programme
UE 8 Systèmes d information de gestion Le programme Légende : Modifications de l arrêté du 8 mars 2010 Suppressions de l arrêté du 8 mars 2010 Partie inchangée par rapport au programme antérieur Indications
Plus en détailBases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Plus en détailIntroduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
Plus en détailLe 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étailSECTION 5 BANQUE DE PROJETS
SECTION 5 BANQUE DE PROJETS INF 4018 BANQUE DE PROJETS - 1 - Banque de projets PROJET 2.1 : APPLICATION LOGICIELLE... 3 PROJET 2.2 : SITE WEB SÉMANTIQUE AVEC XML... 5 PROJET 2.3 : E-LEARNING ET FORMATION
Plus en détailAccè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étailFaculté 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étailCours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
Plus en détailBases 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étailUEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Plus en détailLangage 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étailLicence 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étailProgrammes des classes préparatoires aux Grandes Ecoles
Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voies : Mathématiques, physique et sciences de l'ingénieur (MPSI) Physique, chimie et sciences de l ingénieur (PCSI) Physique,
Plus en détailInitiation à la Programmation en Logique avec SISCtus Prolog
Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées
Plus en détailProjet 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étailCours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Plus en détailExemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions
Exemple accessible via une interface Web Une base de données consultable en ligne : Bases de données et systèmes de gestion de bases de données The Trans-atlantic slave trade database: http://www.slavevoyages.org/tast/index.faces
Plus en détailNotions fondamentales du langage C# Version 1.0
Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage
Plus en détailDéveloppement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com
Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184 Frédéric BERTIN fbertin@neotilus.com Présentaion : Mobile 3D Graphics API JSR 184 M3G :présentation Package optionnel de l api J2ME. Prend
Plus en détailLe stockage local de données en HTML5
Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,
Plus en détail1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.
1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this
Plus en détailChapitre 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étailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailInstructions et spécifications pour la transmission en format XML de déclarations par lots. 30 mai 2015 MODULE 1
Instructions et spécifications pour la transmission en format XML de déclarations par lots 30 mai 2015 MODULE 1 Table des matières Modifications apportées dans la présente... 3 1 Renseignements généraux...
Plus en détailCours 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étailFileMaker 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étailAccess et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.
Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs, relations,
Plus en détailBES 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étailCours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan
Cours de C++ François Laroussinie Dept. d Informatique, ENS de Cachan 2 novembre 2005 Première partie I Introduction Introduction Introduction Algorithme et programmation Algorithme: méthode pour résoudre
Plus en détailLes transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions
1/46 2/46 Pourquoi? Anne-Cécile Caron Master MAGE - SGBD 1er trimestre 2014-2015 Le concept de transaction va permettre de définir des processus garantissant que l état de la base est toujours cohérent
Plus en détailAnnexe C Spécification pour les fichiers importés en format XML
Annexe C Spécification pour les fichiers importés en format XML Format de fichier : Fichier texte du fichier : 1 048 576 octets/caractères (maximum) Convention de dénomination : Le nom recommandé du fichier
Plus en détailCREATION D UNE EVALUATION AVEC JADE par Patrick RUER (www.mathenvideo.comuv.com)
TABLE DES MATIERES I) Le logiciel JADE 2 II) Etablissements 3 1) Configuation de l établissement 3 2) Importation des classes avec SCONET 4 3) Les groupes d élèves 6 4) Les variables supplémentaires 6
Plus en détailQualité du logiciel: Méthodes de test
Qualité du logiciel: Méthodes de test Matthieu Amiguet 2004 2005 Analyse statique de code Analyse statique de code Étudier le programme source sans exécution Généralement réalisée avant les tests d exécution
Plus en détailLes structures. Chapitre 3
Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre
Plus en détailTP 1. Prise en main du langage Python
TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer
Plus en détailPerl Orienté Objet BioPerl There is more than one way to do it
Perl Orienté Objet BioPerl There is more than one way to do it Bérénice Batut, berenice.batut@udamail.fr DUT Génie Biologique Option Bioinformatique Année 2014-2015 Perl Orienté Objet - BioPerl Rappels
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailEXCEL TUTORIEL 2012/2013
EXCEL TUTORIEL 2012/2013 Excel est un tableur, c est-à-dire un logiciel de gestion de tableaux. Il permet de réaliser des calculs avec des valeurs numériques, mais aussi avec des dates et des textes. Ainsi
Plus en détailIntelligence Artificielle Planification
Intelligence Artificielle Planification Bruno Bouzy http://web.mi.parisdescartes.fr/~bouzy bruno.bouzy@parisdescartes.fr Licence 3 Informatique UFR Mathématiques et Informatique Université Paris Descartes
Plus en détailA QUOI SERVENT LES BASES DE DONNÉES?
BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès
Plus en détailSQL 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étailOutils 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étaildonnées en connaissance et en actions?
1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)
Plus en détailBases de données élémentaires Maude Manouvrier
Licence MI2E- 1ère année Outils en Informatique Bases de données élémentaires Maude Manouvrier Définitions générales et positionnement du cours dans la formation Vocabulaire relatif aux bases de données
Plus en détailContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.
ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. - 1 - PREAMBULE Les conditions générales d utilisation détaillant l ensemble des dispositions applicables
Plus en détailAlgorithmique, Structures de données et langage C
UNIVERSITE PAUL SABATIER TOULOUSE III Algorithmique, Structures de données et langage C L3 IUP AISEM/ICM Janvier 2005 J.M. ENJALBERT Chapitre 1 Rappels et compléments de C 1.1 Structures Une structure
Plus en détailOASIS www.oasis-open.org/committees/xacml/docs/docs.shtml Date de publication
Statut du Committee Working Draft document Titre XACML Language Proposal, version 0.8 (XACML : XML Access Control Markup Language) Langage de balisage du contrôle d'accès Mot clé Attestation et sécurité
Plus en détailLicence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Plus en détailCours d Informatique
Cours d Informatique 1ère année SM/SMI 2007/2008, Info 2 Département de Mathématiques et d Informatique, Université Mohammed V elbenani@hotmail.com sayah@fsr.ac.ma 2007/2008 Info2, 1ère année SM/SMI 1
Plus en détailDéfinitions. Numéro à préciser. (Durée : )
Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.
Plus en détailL exclusion mutuelle distribuée
L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué
Plus en détailXML 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étailPremiers pas avec Mathematica
Premiers pas avec Mathematica LP206 : Mathématiques pour physiciens I Année 2010/2011 1 Introduction Mathematica est un logiciel de calcul formel qui permet de manipuler des expressions mathématiques symboliques.
Plus en détail