SQL : Dans l article précédent sur le langage de manipulation

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

Download "SQL : Dans l article précédent sur le langage de manipulation"

Transcription

1 SQL : extraire des données Les bases de données sont très utilisées dans les applications Web. La création, l interrogation et la manipulation des données de la base sont réalisées en SQL. Dans cet article, vous apprendrez à extraire des données d une table et à les trier avec SQL. Cet article explique : Comment extraire et trier des données. Ce qu il faut savoir : Aucun prérequis. Dans l article précédent sur le langage de manipulation des données, vous avez appris à insérer, modifier et supprimer des données d une base. Dans ce numéro, vous allez apprendre à extraire un sous-ensemble d informations des tables. Pour appliquer les notions présentées, vous devez utiliser un serveur de bases de données MySQL, de préférence la version 5, un serveur web avec PHP version 5 et le client graphique phpmyadmin. Les distributions XAMPP (Windows, Linux, Mac OS), WAMP (Windows), EasyPHP (Windows) ou MAMP (Mac OS) vous fourniront l environnement de travail nécessaire. Les requêtes présentées peuvent être testées via une console SQL ou en mode graphique dans phpmyadmin. Dans cet article, nous allons utiliser l exemple d une bibliothèque privée dont le schéma a été présenté dans un article paru dans le magazine précédent (N 11/ SQL : langage de manipulation des données). Les données insérées dans les tables auteur et livre sont celles figurant dans les tableaux 1 et 2. Sélectionner les données La commande SQL SELECT suivie du caractère * permet d extraire toutes les données d une table : SELECT * FROM nom _ table; Par exemple, pour afficher toutes les lignes de toutes les colonnes de la table auteur (tableau 1), il faut utiliser la requête suivante : SELECT * FROM auteur; Trier les données Par défaut, les lignes extraites sont affichées dans l ordre d insertion. La clause ORDER BY suivie d'une ou plusieurs colonnes permet de faire un tri sur ces colonnes. Par défaut, elle trie par ordre croissant (ASC), mais la condition DESC permet un tri décroissant. La clause OR- DER BY est toujours placée en fin d instruction. SELECT * FROM nom _ table ORDER BY col1 [ASC DESC][, col2 [ASC DESC], ]; L instruction suivante trie les informations de la table auteur par ordre alphabétique sur la colonne nom : SELECT * FROM auteur ORDER BY nom; Si plusieurs colonnes sont citées après la clause ORDER BY, le tri sera d abord effectué sur la première colonne renseignée, puis sur la deuxième, etc. Par exemple pour trier la table auteur suivant leurs noms dans l ordre croissant, puis suivant leurs prénoms dans l ordre décroissant, il faut utiliser la commande : SELECT * FROM auteur ORDER BY nom ASC, prenom DESC; Sélectionner un sous-ensemble de colonnes Il est possible d afficher un sous-ensemble de colonnes d une table en effectuant une projection. Celle-ci est obtenue en indiquant une liste de colonnes devant la clause FROM, en les séparant par des virgules. Derrière 36 1/2011

2 SQL Select le FROM sera indiquée la table concernée. Le résultat d une projection est une table comportant uniquement les colonnes indiquées. Afin d'éviter l'affichage des doublons, il faut utiliser le mot-clé DISTINCT. SELECT [DISTINCT] col1[, col2, ] FROM nom _ table; L affichage de tous les livres insérés dans la base, ainsi que leur genre et leur date de parution, triés par ordre de parution (tableau 3), est possible grâce à l instruction suivante : SELECT titre, genre, date _ parution FROM livre ORDER BY date _ parution; Pour afficher les genres présents dans la base, on peut utiliser la requête : SELECT genre FROM livre; Cette requête renvoie les genres pour chaque livre inséré dans la base. Il apparaîtra donc plusieurs fois roman et theatre. Pour afficher une liste ne comprenant qu une unique fois chaque genre, il faut utiliser DISTINCT : SELECT DISTINCT genre FROM livre; Sélectionner un sous-ensemble de lignes La clause WHERE permet de définir une condition afin de sélectionner un sous-ensemble de lignes d'une table. Celle-ci est une expression comportant un ou plusieurs opérateurs (tableau 4) dont les opérandes sont des noms de colonnes, des fonctions ou des constantes. MySQL propose un grand nombre de fonctions sur les dates, les nombres et les chaînes de caractères. La restriction affichera toutes les lignes de la table qui répondent à la condition. SELECT col1[, col2,...] FROM nom _ table WHERE condition; Nombres Pour indiquer une condition quant à une colonne numérique, il est possible d utiliser des opérateurs relationnels, logiques, ainsi que les opérateurs BETWEEN ou IN. L instruction suivante affiche les livres parus après 1950, triés par date de parution : SELECT titre, date _ parution FROM livre WHERE date _ parution > 1950 ORDER BY date _ parution; Les opérateurs logiques permettent de combiner des conditions. Par exemple, pour afficher les livres parus entre 1950 et 1980 : Figure 1. Extraire des données depuis phpmyadmin SELECT titre, date _ parution FROM livre WHERE date _ parution >= 1950 AND date _ parution <= 1980; La requête précédente peut également être écrite grâce à l expression nb BETWEEN min AND max qui retourne vrai si le nombre nb est compris entre les bornes min et max : SELECT titre, date _ parution FROM livre WHERE date _ parution BETWEEN 1950 AND 1980; Par contre, pour comparer les champs d une colonne à une liste, il faut utiliser l expression nb IN (val1[, val2, ]) qui retourne vrai si nb appartient à une des valeurs indiquées. L instruction suivante permet d afficher seulement les livres parus en 2008 ou en 2010 : SELECT titre, date _ parution FROM livre WHERE date _ parution IN (2008,2010); Chaînes de caractères La restriction peut porter sur des chaînes de caractères. Par exemple, pour afficher tous les romans : SELECT titre, genre FROM livre WHERE genre = 'roman'; L expression ch IN (val1[, val2, ]) fonctionne aussi pour les chaînes. Ainsi, l instruction suivante permet d afficher les romans et les livres historiques : SELECT titre, genre FROM livre WHERE genre IN ('roman','historique'); Il est également possible d effectuer des comparaisons sur des chaînes en utilisant l opérateur LIKE. L expression chaine LIKE motif retourne vrai si la chaîne indiquée correspond au motif spécifié. Le motif peut être composé de lettres et/ou de symboles : le % représente 37

3 Tableau 1. Contenu de la table AUTEUR id_auteur nom prenom date_naissance 1 Follett Ken Dickens Charles Tolkien J. R. R Molière Jean Baptiste Herbouiller Sophie NULL 6 Massonaud Christophe NULL Tableau 2. Contenu de la table LIVRE isbn titre genre date_parution langue nb_pages preface code_zone Fall of giants historique 2010 anglais 255 oui c Un bunker à la Baule roman 2008 francais 226 non c Le bourgeois gentilhomme theatre 1670 francais 152 NULL NULL Le seigneur des anneaux fantastique 1954 francais 832 non c David Copperfield roman 1850 anglais 458 oui s Amphitryon theatre 1668 francais 120 oui c18 Tableau 3. Sélection et tri d un sous-ensemble de colonnes. titre genre date_parution Amphitryon theatre 1668 Le bourgeois gentilhomme theatre 1670 David Copperfield roman 1850 Le seigneur des anneaux fantastique 1954 Un bunker à la Baule roman 2008 Fall of giants historique 2010 Tableau 4. Opérateurs Opérateurs SQL Opérateurs arithmétiques + Addition - Soustraction * Multiplication / Division Opérateurs logiques AND Et (x AND y vrai uniquement si x vrai et y vrai) OR Ou (x OR y faux uniquement si x faux et y faux) NOT Non Opérateurs relationnels = Egal à <> Différent de < Inférieur à <= Inférieur ou égal à > Supérieur à >= Supérieur ou égal à Autres opérateurs chaine LIKE motif Vrai si la chaine suit le motif exp IN (val1, val2,...) Vrai si l expression appartient à une des valeurs exp BETWEEN min AND max Vrai si l expression est comprise entre les deux bornes exp IS NULL Vrai si l expression a la valeur NULL exp IS NOT NULL Vrai si l expression n a pas la valeur NULL 38 1/2011

4 SQL Select n importe quelle chaîne et le _ représente un unique caractère quelconque. L instruction suivante affiche tous les livres dont le code zone commence par un C suivi de deux caractères quelconques (dans le tableau 2, les livres qui ont les codes zone : c10, c18 et c20) : SELECT titre FROM livre WHERE code _ zone LIKE 'c '; Par contre, la requête suivante renvoie tous les livres dont le code zone commence par un C, quel que soit le nombre de caractères (les livres dont le code zone est c10, c18, c20 ou c8) : SELECT titre FROM livre WHERE code _ zone LIKE 'c%'; Il est possible de définir des conditions sur des colonnes de type numérique et alphanumérique dans une même requête. Pour afficher les romans parus après 1950, il faut exécuter : SELECT titre FROM livre WHERE genre = 'roman' AND date _ parution > 1950; Dates La restriction peut porter sur des colonnes de type date. Par exemple, pour afficher tous les auteurs nés au XIXème siècle : SELECT nom FROM auteur WHERE YEAR(date _ naissance) BETWEEN 1800 AND 1899; La fonction MySQL YEAR retourne l année de la date passée en argument. La fonction MONTH retourne un numéro entre 1 et 12 correspondant au mois. Pour lister les auteurs nés en juin : SELECT nom FROM auteur WHERE MONTH(date _ naissance) = 6; NULL L opérateur IS NULL permet de sélectionner les lignes dont les champs ne sont pas renseignés. Pour extraire les lignes dont le code zone n a pas été défini : SELECT titre FROM livre WHERE code _ zone IS NULL; L opérateur inverse serait IS NOT NULL. La requête suivante extrait tous les livres dont le code zone est renseigné : SELECT titre FROM livre WHERE code _ zone IS NOT NULL; Tableau 5. Colonne dérivée et tri titre Amphitryon 343 David Copperfield 161 Fall of giants 1 Le bourgeois gentilhomme 341 Le seigneur des anneaux 57 Un bunker à la Baule 3 Tableau 6. Colonne dérivée avec alias et tri titre Fall of giants 1 Un bunker à la Baule 3 Le seigneur des anneaux 57 David Copperfield 161 Le bourgeois gentilhomme 341 Amphitryon 343 Tableau 7. Regroupement de données ecrivain YEAR(NOW())-date_parution anciennete annee K. Follett 1949 C. Dickens 1812 J. Tolkien 1892 J. Molière 1622 S. Herbouiller NULL C. Massonaud NULL Créer des colonnes dérivées Il est également possible d extraire des informations de manière personnalisée en créant des colonnes qui ne sont pas présentes dans la base. Ces colonnes peuvent prendre des valeurs retournées par des fonctions ou des calculs. Ces colonnes ne sont pas ajoutées dans la base de données, elles apparaissent uniquement lors de l'affichage du résultat de la requête. Par exemple, on peut vouloir extraire l ancienneté d un livre (tableau 5). Pour ce faire, il suffit de retrancher la date de parution à la date du jour : SELECT titre, YEAR(NOW())-date _ parution FROM livre ORDER BY titre; La requête retourne un tableau de deux colonnes dont la première est intitulée titre et l autre YEAR(NOW())-date_parution. Pour renommer cette colonne (tableau 6), il faut utiliser un alias (AS).. Il est aussi possible de faire un tri sur cette nouvelle colonne : SELECT titre, (YEAR(NOW())-date _ parution) AS anciennete FROM livre ORDER BY anciennete; 39

5 Tableau 8. Quelques fonctions MySQL prédéfinies Fonctions MySQL Fonctions sur les dates DATEDIFF(date1, date2) Retourne le nombre de jour entre date1 et date2 MONTH(date) Retourne le mois de la date NOW() Retourne la date courante YEAR(date) Retourne l année de la date Fonctions sur les chaînes de caractères CONCAT(ch1, ch2,...) Retourne la concaténation des chaînes ch1, ch2,... LENGTH(ch) Retourne la longueur de la chaîne ch SUBSTRING(ch, pos, lg) Retourne la sous-chaîne de ch débutant à l indice pos et de taille lg TRIM(ch) Retourne la chaîne ch sans les espaces ni à droite ni à gauche Fonctions mathématiques MOD(nb1,nb2) Retourne le reste de la division de nb1 par nb2 (modulo) SQRT(nb) Retourne la racine carrée de nb TRUNCATE(nb,dec) Retourne nb tronqué en fonction de la decimale dec La requête suivante crée une colonne 'ecrivain' qui contient la liste des auteurs comprenant seulement la première lettre de leur prénom suivi d un point et de leur nom (format : C. Dickens ) ainsi qu une colonne contenant leur année de naissance, comme dans le tableau 7 : SELECT CONCAT(SUBSTRING(prenom,1,1),'. ',nom) AS ecrivain, YEAR(date _ naissance) AS annee FROM auteur; Extraire des données avec phpmyadmin L interface Web phpmyadmin permet d extraire des données via l utilisation d un formulaire. Une fois la base sélectionnée sur la page d accueil, il faut choisir la table concernée dans le cadre de gauche. Un clic sur l icône Rechercher dans le menu du cadre de droite permet d afficher le formulaire d extraction (figure 1). Il est proposé une liste de conditions spécifiques à chaque champ. Sous le bouton Options, une liste à choix multiples permet de réaliser une projection en choisissant quelles colonnes devront s afficher. La soumission du formulaire génère automatiquement la requête, l affiche et l envoie à MySQL. Sur la figure 1, il a été rempli pour répondre à la requête : SELECT titre, date _ parution FROM livre WHERE date _ parution > 1950 ORDER BY date _ parution; Sur Internet - phpmyadmin MySQL, Cependant, cette interface ne permet pas actuellement de faire de conditions multiples sur un champ. Il est notamment impossible de donner deux bornes à une date de parution. Conclusion Vous avez appris dans cet article à extraire et trier des données provenant d une table. Grâce aux connaissances acquises dans cette série d articles, vous êtes à présent à même de réaliser des bases de données simples, d y insérer des données et de les interroger. L article sur les jointures vous permettra d interroger plusieurs tables simultanément à la suite de quoi vous verrez comment vous connecter à la base via PHP avec PDO. CILIA MAURO, MAGALI CONTENSIN Cilia Mauro est gestionnaire de bases de données et développeur d applications web au CNRS. Elle enseigne les bases de données et PHP à l université. Contact : cilia.mro@gmail.com Magali Contensin est chef de projet en développement d applications au CNRS. Elle enseigne depuis plus de dix ans le développement d applications web à l université et est l auteur de nombreux articles sur le développement web en PHP. Contact : /2011

6 SQL : les jointures Les bases de données sont très utilisées dans les applications Web. La création, l interrogation et la manipulation des données de la base sont réalisées en SQL. Dans cet article, vous apprendrez à extraire des données issues de plusieurs tables avec SQL. Cet article explique : Comment extraire des données de plusieurs tables simultanément. Ce qu il faut savoir : Avoir lu l'article SQL : extraire des données (de ce même numéro). Dans les articles précédents vous avez appris les bases du langage SQL. Vous êtes capables de réaliser des bases de données simples, d y insérer des données et de les interroger. Dans l article précédent (dans ce numéro : SQL : extraire des données), vous avez vu comment extraire des données d une table. Cet article explique comment interroger plusieurs tables en même temps. Afin d appliquer les prochaines notions, il est nécessaire que vous utilisiez l environnement de travail présenté dans l article précédent. L'interface Web phpmyadmin utilisée jusqu ici ne permet pas de générer graphiquement des jointures, aussi les requêtes suivantes devront être testées via une console SQL. Cet article sera illustré par l'exemple d'une bibliothèque privée (Figure 1) dont les données insérées dans les tables auteur et livre sont les mêmes que dans l article sur l extraction des données. Les données des tables zone et ecrit apparaissent dans les tableaux 1 et 2. Jusqu à présent, vous avez extrait des données d une seule table. Parfois il est nécessaire de faire une extraction sur plusieurs tables. Par exemple, pour afficher tous les livres présents dans une pièce donnée, une solution est de passer par deux requêtes. La première extrait les codes zone d intérêt, ici pour une chambre : SELECT code _ zone FROM zone WHERE piece = 'chambre'; Figure 1. Schéma de la base de données biblio 41

7 SQL Jointure La seconde utilise le résultat de la première pour afficher les titres des livres présents dans cette pièce : SELECT titre FROM livre WHERE code _ zone IN ('c10','c18','c20','c8'); Une solution plus efficace de procéder est de regrouper les données des tables livre et zone grâce à une jointure. Après avoir présenté le produit cartésien sur lequel reposent les jointures, vous verrez quels types de jointures existent et comment les utiliser. Produit cartésien La jointure consiste à faire le produit cartésien de deux tables puis de restreindre les lignes grâce à une condition. La syntaxe JOIN avec ON permet d indiquer le type de jointure (interne ou externe, détaillées plus tard) et la condition : SELECT col1[, col2, ] FROM table1 [NATURAL] [LEFT RIGHT] JOIN table2 ON condition; Le produit cartésien de deux tables est l ensemble de tous les couples possibles entre les lignes de ces tables. Il associe à chaque ligne de la table livre la première ligne de la table zone, puis il associe à chaque ligne de la table livre la seconde ligne de la table zone, etc. Le tableau 3 montre le produit cartésien d un sousensemble de colonnes des tables livre et zone. Pour l afficher, il suffit d extraire les deux tables sans condition de jointure : SELECT livre.titre, livre.date _ parution, livre.code _ zone AS code1, zone.code _ zone AS code2, zone.piece FROM livre JOIN zone; Le caractère point permet d'indiquer la table d'où provient la colonne et évite les ambiguïtés possibles quant à savoir s'il s'agit du code_zone de la table livre ou de celui de la table zone. Pour diminuer le nombre de caractère d'une requête, il est possible de donner un alias aux tables. Dans la requête suivante, équivalente à la précédente, la table livre a été renommée en L et la table zone en Z : SELECT L.titre, L.date_parution, L.code_zone AS code1, Z.code_zone AS code2, Z.piece FROM livre L JOIN zone Z; Tableau 1. Contenu de la table zone code_zone piece meuble c10 chambre armoire en pin c18 chambre armoire en pin c20 chambre bibliothèque noire c8 chambre commode s11 salon bibliothèque noire s8 salon buffet en chêne Tableau 2. Contenu de la table ecrit isbn id_auteur Jointure interne Le produit cartésien du tableau 3 a généré toutes les possibilités de couples, les seuls qui nous intéressent sont ceux dont les codes zone sont identiques (lignes du tableau 3 marquées d'un dans la dernière colonne). Pour afficher tous les livres présents dans une pièce, il faut donc indiquer que la comparaison porte sur la colonne code_zone de la table livre et la colonne code_zone de la table zone : SELECT L.titre, L.date _ parution, L.code _ zone AS code1, Z.code _ zone AS code2, Z.piece FROM livre L JOIN zone Z ON L.code _ zone = Z.code _ zone; Cette requête est une jointure interne. Elle s'exerce par défaut si le type de jointure n'est pas précisé ou si IN- NER JOIN est utilisé. Ce type de jointure, le plus fréquemment rencontré, suit la syntaxe : SELECT col1[, col2, ] FROM table1 [INNER] JOIN table2 ON condition; La requête de l'exemple retourne cinq lignes. Le livre non référencé (code_zone à NULL) n'apparaît pas. Pour afficher tous les livres présents dans une chambre, il suffit d'ajouter une restriction à la requête : SELECT L.titre, L.date_parution, L.code_zone AS code1, Z.code_zone AS code2, Z.piece FROM livre L JOIN zone Z ON L.code_zone = Z.code_ zone WHERE Z.piece = 'chambre'; Une notation plus ancienne peut être rencontrée pour réaliser une jointure : SELECT col1[, col2, ] FROM table1, table2 WHERE condition; La condition de jointure est spécifiée après la clause WHERE et les tables sont listées après le FROM séparées 42 1/2011

8 Tableau 3. Produit cartésien d un sous-ensemble de colonnes des tables livre et zone titre date_parution code1 code2 piece Fall of giants 2010 c20 c10 chambre Le seigneur des anneaux 1954 c8 c10 chambre Amphitryon 1668 c18 c10 chambre Le bourgeois gentilhomme 1670 NULL c10 chambre David Copperfield 1850 s8 c10 chambre Un bunker à la Baule 2008 c10 c10 chambre I Fall of giants 2010 c20 c18 chambre Le seigneur des anneaux 1954 c8 c18 chambre Amphitryon 1668 c18 c18 chambre I Le bourgeois gentilhomme 1670 NULL c18 chambre David Copperfield 1850 s8 c18 chambre Un bunker à la Baule 2008 c10 c18 chambre Fall of giants 2010 c20 c20 chambre I Le seigneur des anneaux 1954 c8 c20 chambre Amphitryon 1668 c18 c20 chambre Le bourgeois gentilhomme 1670 NULL c20 chambre David Copperfield 1850 s8 c20 chambre Un bunker à la Baule 2008 c10 c20 chambre Fall of giants 2010 c20 c8 chambre Le seigneur des anneaux 1954 c8 c8 chambre I Amphitryon 1668 c18 c8 chambre Le bourgeois gentilhomme 1670 NULL c8 chambre David Copperfield 1850 s8 c8 chambre Un bunker à la Baule 2008 c10 c8 chambre Fall of giants 2010 c20 s11 salon Le seigneur des anneaux 1954 c8 s11 salon Amphitryon 1668 c18 s11 salon Le bourgeois gentilhomme 1670 NULL s11 salon David Copperfield 1850 s8 s11 salon Un bunker à la Baule 2008 c10 s11 salon Fall of giants 2010 c20 s8 salon Le seigneur des anneaux 1954 c8 s8 salon Amphitryon 1668 c18 s8 salon Le bourgeois gentilhomme 1670 NULL s8 salon David Copperfield 1850 s8 s8 salon I Un bunker à la Baule 2008 c10 s8 salon Tableau 4. Afficher tous les livres et leur zone s ils sont référencés titre date_parution code1 code2 piece Fall of giants 2010 c20 c20 chambre Le seigneur des anneaux 1954 c8 c8 chambre Amphitryon 1668 c18 c18 chambre Le bourgeois gentilhomme 1670 NULL NULL NULL David Copperfield 1850 s8 s8 salon Un bunker à la Baule 2008 c10 c10 chambre 43

9 SQL Jointure par des caractères virgules. La requête précédente peut être réécrite : SELECT L.titre, L.date_parution, L.code_zone AS code1, Z.code_zone AS code2, Z.piece FROM livre L, zone Z WHERE L.code_zone = Z.code_ zone AND Z.piece = 'chambre'; La syntaxe avec JOIN et ON est plus claire car elle permet de différencier les conditions de jointure des restrictions, mais les résultats des deux sont équivalentes. Jointure naturelle. Lorsque les colonnes de la condition de jointure ont le même nom dans chaque table, la jointure peut être réalisée automatiquement en utilisant le mot-clé NATURAL devant le type de jointure. La requête, qui affiche les livres et la pièce dans laquelle ils sont stockés, aurait pu être écrite : Tableau 5. Afficher toutes les zones et les livres qu elles contiennent titre date_parution code1 code2 piece Un bunker à la Baule 2008 c10 c10 chambre Amphitryon 1668 c18 c18 chambre Fall of giants 2010 c20 c20 chambre Le seigneur des anneaux 1954 c8 c8 chambre NULL NULL NULL s11 salon David Copperfield 1850 s8 s8 salon SELECT L.titre, L.code _ zone AS code1, Z.code _ zone AS code2, Z.piece FROM livre L NATURAL JOIN zone Z; Jointure externe La jointure interne ne permet pas d obtenir les livres qui n ont pas été rangés dans une pièce, c est à dire ceux dont le code zone a la valeur NULL. Seules les lignes qui ont une correspondance dans l autre table sont affichées. Les jointures externes (OUTER JOIN) permettent d afficher des lignes qui n ont pas forcément de correspondance : SELECT col1[, col2, ] FROM table1 [NATURAL] [LEFT RIGHT] [OUTER] JOIN table2 ON condition; Jointure gauche Afin d'afficher tous les livres, référencés ou non, il faut réaliser une jointure externe gauche (LEFT [OUTER] JOIN) : SELECT L.titre, L.date_parution, L.code_zone AS code1, Z.code_zone AS code2, Z.piece FROM livre L LEFT JOIN zone Z ON L.code_zone = Z.code_zone; La requête retourne les lignes de la jointure interne plus les lignes de la table de gauche qui n'ont pas de correspondance dans la table de droite (zone). Dans ce cas, les colonnes de la table de droite comporteront la valeur NULL (tableau 4). Les colonnes de la condition de jointure ayant le même nom, il est possible de faire une jointure naturelle externe : SELECT L.titre, L.date _ parution, L.code _ zone AS code1, Z.code _ zone AS code2, Z.piece FROM livre L NATURAL LEFT JOIN zone Z; Figure 2. Organigramme Jointure droite Pour afficher toutes les zones et les livres qu elles contiennent, s il y en a, il faut utiliser une jointure externe droite : SELECT L.titre, L.date _ parution, L.code _ zone AS code1, Z.code _ zone AS code2, Z.piece FROM livre L RIGHT JOIN zone Z ON L.code _ zone = Z.code _ zone; La jointure retourne toutes les lignes de la jointure interne plus les lignes de la table de droite (zone) qui n'ont pas de correspondance dans la table livre (tableau 5). Une jointure droite peut s écrire sous la forme d une jointure gauche en inversant l ordre des tables. La requête suivante est équivalente à la jointure droite cidessus (tableau 5) : SELECT L.titre, L.date _ parution, L.code _ zone AS code1, Z.code _ zone AS code2, Z.piece FROM zone Z LEFT JOIN livre L ON L.code _ zone = Z.code _ zone; 44 1/2011

10 Tableau 6. Titre des livres et leurs auteurs titre Fall of giants Le seigneur des anneaux Amphitryon Le bourgeois gentilhomme David Copperfield Un bunker à la Baule Un bunker à la Baule nom Follett Tolkien Molière Molière Dickens Herbouiller Massonaud Tableau 7. Contenu de la table employe id nom chef 1 X NULL 2 Y 1 3 Z 1 4 A 2 5 B 2 6 C 3 Tableau 8. Affichage de tous les employés et de leur chef id nom chef 1 X NULL 2 Y X 3 Z X 4 A Y 5 B Y 6 C Z Jointure complète La norme SQL définit des jointures externes complètes qui retournent toutes les lignes de la table de gauche et de la table de droite (FULL JOIN). Celles-ci ne sont pas implémentées dans MySQL mais peuvent être obtenues grâce à une union du résultat de deux requêtes (LEFT + RIGHT) : SELECT col1[, col2, ] FROM table1 LEFT JOIN table2 ON condition UNION SELECT col1[, col2, ] FROM table1 RIGHT JOIN table2 ON condition; Pour effectuer une union, il faut que les deux requêtes renvoient le même nombre de colonnes et que celles-ci soient du même type. Jointure sur trois tables Il est parfois nécessaire de faire des jointures sur plus de deux tables. Dans l exemple, pour afficher les livres et le nom de leurs auteurs (tableau 6), il faut interroger trois tables. La table ecrit permet d associer un ou plusieurs auteurs à un livre. La requête s écrit donc : SELECT L.titre, A.nom FROM livre L JOIN ecrit E ON L.isbn = E.isbn JOIN auteur A ON E.id _ auteur = A.id _ auteur; Les jointures sont faites successivement. Le résultat de la jointure entre les tables livre et ecrit est joint à la table auteur. Comme précédemment, les conditions de jointure portent sur des colonnes de même nom, il est donc possible d écrire : SELECT L.titre, A.nom FROM livre L NATURAL JOIN ecrit NATURAL JOIN auteur A; Auto-jointure Dans certains cas, il peut s avérer nécessaire de joindre une table à elle-même. Par exemple pour retrouver des liens de parenté entre des personnes ou afficher le supérieur hiérarchique d un groupe d employés (Figure 2). Cet exemple sera utilisé pour présenter l auto-jointure. Une table stocke tous les employés d une entreprise et comporte une colonne chef qui référence l identifiant d un des employés de la même table, ou NULL si l employé n a pas de supérieur hiérarchique (tableau 7). Pour afficher la liste de tous les employés et de leur chef, il faut faire une jointure interne. Comme elle portera sur la même table, il faut lui donner deux alias différents : SELECT E.id, E.nom, C.nom AS chef FROM employe E JOIN employe C ON E.chef = C.id; La requête retourne cinq lignes et n affiche pas les employés qui n ont pas de supérieur hiérarchique (dans l exemple, celui dont l id est 1). Pour l afficher (tableau 8), il faut faire une jointure externe : SELECT E.id, E.nom, C.nom AS chef FROM employe E LEFT JOIN employe C ON E.chef = C.id; Conclusion Vous avez appris dans cet article à extraire des données provenant de plusieurs tables. Grâce aux connaissances acquises dans cette série d'articles, vous êtes à présent à même de réaliser des bases de données simples, d'y insérer des données et de les interroger. Le prochain article vous montrera comment interroger une base de données via PHP avec PDO. CILIA MAURO, MAGALI CONTENSIN Cilia Mauro est gestionnaire de bases de données et développeur d applications web au CNRS. Elle enseigne les bases de données et PHP à l université. Contact : cilia.mro@gmail.com Magali Contensin est chef de projet en développement d applications au CNRS. Elle enseigne depuis plus de dix ans le développement d applications web à l université et est l auteur de nombreux articles sur le développement web en PHP. Contact :

Pour les débutants. langage de définition des données

Pour les débutants. langage de définition des données Pour les débutants SQL : langage de définition des données Les bases de données sont très utilisées dans les applications Web. La création, l interrogation et la manipulation des données de la base sont

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

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

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES Dossier G11 - Interroger une base de données La base de données Facturation contient tout un ensemble d'informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de

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

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

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

SOMMAIRE. Travailler avec les requêtes... 3

SOMMAIRE. Travailler avec les requêtes... 3 Access Les requêtes SOMMAIRE Travailler avec les requêtes... 3 A) Créer une requête sélection en mode QBE... 3 B) Exécuter une requête à partir du mode Modifier (QBE)... 3 C) Passer du mode Feuille de

Plus en détail

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble. Gaëlle PERRIN SID2 Grenoble Le 10/04/2014 Base de Données (BD) : une grande quantité de données, centralisées ou non, servant pour les besoins d'une ou plusieurs applications, interrogeables et modifiables

Plus en détail

Le Langage SQL version Oracle

Le Langage SQL version Oracle Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI anis.bach@isg.rnu.tn

Plus en détail

Création de Sous-Formulaires

Création de Sous-Formulaires Création de Sous-Formulaires Révision 1.01 du 02/01/04 Réalisé avec : OOo 1.1.0 Plate-forme / Os : Toutes Distribué par le projet Fr.OpenOffice.org Table des Matières 1 But de ce how-to...3 2 Pré-requis...3

Plus en détail

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ; RÈGLES A SUIVRE POUR OPTIMISER LES REQUÊTES SQL Le but de ce rapport est d énumérer quelques règles pratiques à appliquer dans l élaboration des requêtes. Il permettra de comprendre pourquoi certaines

Plus en détail

Cours: Les Jointures 1

Cours: Les Jointures 1 Bases de Données Avancées Module A IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Cours: Les Jointures 1 Plan Table of Contents Principe...1 Example...1 Types de Jointures...2 Définitions et examples...2

Plus en détail

Bases de données relationnelles

Bases de données relationnelles Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses

Plus en détail

1. Introduction...2. 2. Création d'une requête...2

1. Introduction...2. 2. Création d'une requête...2 1. Introduction...2 2. Création d'une requête...2 3. Définition des critères de sélection...5 3.1 Opérateurs...5 3.2 Les Fonctions...6 3.3 Plusieurs critères portant sur des champs différents...7 3.4 Requête

Plus en détail

16H Cours / 18H TD / 20H TP

16H Cours / 18H TD / 20H TP INTRODUCTION AUX BASES DE DONNEES 16H Cours / 18H TD / 20H TP 1. INTRODUCTION Des Fichiers aux Bases de Données 2. SYSTEME DE GESTION DE BASE DE DONNEES 2.1. INTRODUCTION AUX SYSTEMES DE GESTION DE BASES

Plus en détail

TD n 10 : Ma première Base de Données

TD n 10 : Ma première Base de Données TD n 10 : Ma première Base de Données 4 heures Rédigé par Pascal Delahaye 11 mars 2015 Le but de ce TD est de découvrirles principales fonctions d OpenOffice Base, le systèmede gestion de bases de données

Plus en détail

Base de données relationnelle et requêtes SQL

Base de données relationnelle et requêtes SQL Base de données relationnelle et requêtes SQL 1e partie Anne-Marie Cubat Une question pour commencer : que voyez-vous? Cela reste flou Les plans de «Prison Break»? Non, cherchons ailleurs! Et de plus près,

Plus en détail

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin Objectifs : Apprendre à l apprenant à lancer un serveur local «Apache» Apprendre à l'apprenant à lancer un serveur MySQL

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

Dossier I Découverte de Base d Open Office

Dossier I Découverte de Base d Open Office ETUDE D UN SYSTEME DE GESTION DE BASE DE DONNEES RELATIONNELLES Définition : Un SGBD est un logiciel de gestion des données fournissant des méthodes d accès aux informations. Un SGBDR permet de décrire

Plus en détail

MODE OPERATOIRE OPENOFFICE BASE

MODE OPERATOIRE OPENOFFICE BASE MODE OPERATOIRE OPENOFFICE BASE Openoffice Base est un SGBDR : Système de Gestion de Base de Données Relationnelle. L un des principaux atouts de ce logiciel est de pouvoir gérer de façon efficace et rapide

Plus en détail

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Création d'un site dynamique en PHP avec Dreamweaver et MySQL Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du

Plus en détail

FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL

FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL Cette création est mise à disposition selon le Contrat Paternité-Pas d'utilisation Commerciale-Partage des Conditions Initiales à l'identique 2.0

Plus en détail

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

Access 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. 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étail

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

Whitepaper. Méthodologie de création de rapports personnalisés SQL Server Reporting Services

Whitepaper. Méthodologie de création de rapports personnalisés SQL Server Reporting Services Ce Whitepaper décrit la méthodologie de développement d un rapport personnalisé au format SQL Server Reporting Service (SSRS) appliqué à System Center Operations Manager (SCOM) Whitepaper Méthodologie

Plus en détail

Europresse.com. Pour bibliothèque d enseignement Pour bibliothèque publique. Consulter facilement la presse. Guide version 1.

Europresse.com. Pour bibliothèque d enseignement Pour bibliothèque publique. Consulter facilement la presse. Guide version 1. Europresse.com Pour bibliothèque d enseignement Pour bibliothèque publique Consulter facilement la presse Guide version 1.4 CEDROM-SNi Utiliser la «Recherche simple» La «Recherche simple» 1. Saisissez

Plus en détail

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager TP base de données SQLite 1 Différents choix possibles et choix de SQLite : La plupart des logiciels de gestion de base de données fonctionnent à l aide d un serveur. Ils demandent donc une installation

Plus en détail

Bases de données élémentaires Maude Manouvrier

Bases 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étail

Cours SQL. Base du langage SQL et des bases de données

Cours SQL. Base du langage SQL et des bases de données Cours SQL Base du langage SQL et des bases de données Auteur Tony Archambeau Site web http://sql.sh Date 24 mai 2014 Licence Mis à disposition selon les termes de la licence Creative Commons Attribution

Plus en détail

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE 2 ème partie : REQUÊTES Sommaire 1. Les REQUÊTES...2 1.1 Créer une requête simple...2 1.1.1 Requête de création de listage ouvrages...2 1.1.2 Procédure de

Plus en détail

Bases de Données. Plan

Bases de Données. Plan Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 Plan Généralités: Définition de Bases de Données Le modèle relationnel Algèbre relationnelle

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

Excel avancé. Frédéric Gava (MCF) gava@univ-paris12.fr

Excel 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étail

SQL Historique 1982 1986 1992

SQL Historique 1982 1986 1992 SQL Historique 1950-1960: gestion par simple fichier texte 1960: COBOL (début de notion de base de données) 1968: premier produit de sgbdr structuré (IBM -> IDMS) 1970-74: élaboration de l'outil d'analyse

Plus en détail

ZOTERO Un outil gratuit de gestion de bibliographies

ZOTERO Un outil gratuit de gestion de bibliographies ZOTERO Un outil gratuit de gestion de bibliographies Téléchargement sur http://www.zotero.org Zotero est une extension du navigateur Web Firefox 0 Mais désormais applications autonomes par rapport à Firefox

Plus en détail

EXCEL TUTORIEL 2012/2013

EXCEL 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étail

Utiliser un tableau de données

Utiliser un tableau de données Utiliser un tableau de données OBJECTIFS : - Définir une Base de Données. - Présentation : tableau de données. - Création d un tableau de données - Gestion d un tableau de données. - Trier et Filtrer des

Plus en détail

Les bases de données Page 1 / 8

Les bases de données Page 1 / 8 Les bases de données Page 1 / 8 Sommaire 1 Définitions... 1 2 Historique... 2 2.1 L'organisation en fichier... 2 2.2 L'apparition des SGBD... 2 2.3 Les SGBD relationnels... 3 2.4 Les bases de données objet...

Plus en détail

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed 6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN

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

Initiation à Excel. Frédéric Gava (MCF) gava@univ-paris12.fr

Initiation à Excel. Frédéric Gava (MCF) gava@univ-paris12.fr Initiation à Excel 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 Plan de cette année

Plus en détail

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Cours Internet et Outils: [1/12] Intro, Internet, Web, XHTML (2H) [2/12] XHTML(2H) [3/12]

Plus en détail

Excel 2007 Niveau 3 Page 1 www.admexcel.com

Excel 2007 Niveau 3 Page 1 www.admexcel.com Excel 2007 Niveau 3 Page 1 TABLE DES MATIERES UTILISATION DE LISTES DE DONNEES... 4 REMARQUES PREALABLES SUR LES LISTES DE DONNEES... 4 METTRE EN FORME LE TABLEAU... 6 METTRE LA LISTE A JOUR... 7 a/ Directement

Plus en détail

MEDIAplus elearning. version 6.6

MEDIAplus elearning. version 6.6 MEDIAplus elearning version 6.6 L'interface d administration MEDIAplus Sommaire 1. L'interface d administration MEDIAplus... 5 2. Principes de l administration MEDIAplus... 8 2.1. Organisations et administrateurs...

Plus en détail

Table des matières L INTEGRATION DE SAS AVEC JMP. Les échanges de données entre SAS et JMP, en mode déconnecté. Dans JMP

Table des matières L INTEGRATION DE SAS AVEC JMP. Les échanges de données entre SAS et JMP, en mode déconnecté. Dans JMP L INTEGRATION DE SAS AVEC JMP Quelles sont les techniques possibles pour intégrer SAS avec JMP? Comment échanger des données entre SAS et JMP? Comment connecter JMP à SAS? Quels sont les apports d une

Plus en détail

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013 NFA 008 Introduction à NoSQL et MongoDB 25/05/2013 1 NoSQL, c'est à dire? Les bases de données NoSQL restent des bases de données mais on met l'accent sur L'aspect NON-relationnel L'architecture distribuée

Plus en détail

Europresse.com. Pour les bibliothèques publiques et de l enseignement. Votre meilleur outil de recherche en ligne. Guide version 1.

Europresse.com. Pour les bibliothèques publiques et de l enseignement. Votre meilleur outil de recherche en ligne. Guide version 1. Europresse.com Pour les bibliothèques publiques et de l enseignement Votre meilleur outil de recherche en ligne Guide version 1.5 CEDROM-SNi Comprendre la page d accueil 1. Bandeau de navigation 2. Espace

Plus en détail

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8 Sage 100 CRM Guide de l Import Plus avec Talend 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

Plus en détail

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons Guide d'utilisation OpenOffice Calc AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons 1 Table des matières Fiche 1 : Présentation de l'interface...3 Fiche 2 : Créer un nouveau classeur...4

Plus en détail

Créer le schéma relationnel d une base de données ACCESS

Créer le schéma relationnel d une base de données ACCESS Utilisation du SGBD ACCESS Polycopié réalisé par Chihab Hanachi et Jean-Marc Thévenin Créer le schéma relationnel d une base de données ACCESS GENERALITES SUR ACCESS... 1 A PROPOS DE L UTILISATION D ACCESS...

Plus en détail

Tableau de bord. Tableau de bord. Statistiques des contenus de votre site (nb de pages, articles, commentaires...)

Tableau de bord. Tableau de bord. Statistiques des contenus de votre site (nb de pages, articles, commentaires...) Tutoriel WORDPRESS Tableau de bord 3 Tableau de bord Statistiques des contenus de votre site (nb de pages, articles, commentaires...) Press-Minute est un outils de publication rapide ou de préparation

Plus en détail

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5

1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5 1. Introduction... 2 2. Création d'une macro autonome... 2 3. Exécuter la macro pas à pas... 5 4. Modifier une macro... 5 5. Création d'une macro associée à un formulaire... 6 6. Exécuter des actions en

Plus en détail

PHP 4 PARTIE : BASE DE DONNEES

PHP 4 PARTIE : BASE DE DONNEES PHP 4 PARTIE : BASE DE DONNEES 1. Introduction 2. Présentation de MySQL 3. Principe 4. Connexion 5. Interrogation 6. Extraction des données 7. Fonctions de services 8. Traitement des erreurs 9. Travaux

Plus en détail

ContactForm 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. 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é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

Zotero est une extension du navigateur Firefox. Il est possible de télécharger Firefox gratuitement sur le site: https://www.mozilla.org/fr/.

Zotero est une extension du navigateur Firefox. Il est possible de télécharger Firefox gratuitement sur le site: https://www.mozilla.org/fr/. Aide-mémoire Zotero est un logiciel de gestion bibliographique gratuit jusqu à 300 Mo et open source. Cet outil permet de collecter des références bibliographiques, de créer des bibliographies et d insérer

Plus en détail

FileMaker 13. Guide de référence SQL

FileMaker 13. Guide de référence SQL FileMaker 13 Guide de référence SQL 2013 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et Bento sont des marques commerciales de

Plus en détail

Mysql avec EasyPhp. 1 er mars 2006

Mysql avec EasyPhp. 1 er mars 2006 Mysql avec EasyPhp 1 er mars 2006 Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requètes vers les bases de données relationnelles. Il en reprend la syntaxe

Plus en détail

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009 TD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009 Loïc Maisonnasse 1 Objectif Ce TD a pour objectif de vous familiariser avec le langage de requêtes SQL. Et de vous apprendre à écrire des requêtes SQL pour

Plus en détail

Le Langage De Description De Données(LDD)

Le Langage De Description De Données(LDD) Base de données Le Langage De Description De Données(LDD) Créer des tables Décrire les différents types de données utilisables pour les définitions de colonne Modifier la définition des tables Supprimer,

Plus en détail

Optimisation SQL. Quelques règles de bases

Optimisation SQL. Quelques règles de bases Optimisation SQL Quelques règles de bases Optimisation des ordres SQL Page 2 1. QUELQUES RÈGLES DE BASE POUR DES ORDRES SQL OPTIMISÉS...3 1.1 INTRODUCTION...3 1.2 L OPTIMISEUR ORACLE...3 1.3 OPTIMISEUR

Plus en détail

Manuel d utilisateur du site de covoiturage «Etucovoiturage»

Manuel d utilisateur du site de covoiturage «Etucovoiturage» 2012 Manuel d utilisateur du site de covoiturage «Etucovoiturage» version 1.0 KOULOUH Khalid, MARYNICH Mikhail, OUDJEHIH Anis, OQAIDI Khalid Master 2 CCI 28/03/2012 Sommaire Comment disposer d'une Page

Plus en détail

Stockage du fichier dans une table mysql:

Stockage du fichier dans une table mysql: Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table

Plus en détail

S y m M a i l i n g. S o l u t i o n d e - m a i l i n g. SymMailing est un outil professionnel de création et de gestion de campagnes d emailing.

S y m M a i l i n g. S o l u t i o n d e - m a i l i n g. SymMailing est un outil professionnel de création et de gestion de campagnes d emailing. S y m M a i l i n g S o l u t i o n d e - m a i l i n g Introduction SymMailing est un outil professionnel de création et de gestion de campagnes d emailing. SymMailing intègre à la fois les outils de

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

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque 1 ENDNOTE X2 SOMMAIRE 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque 2. Manipuler une bibliothèque EndNote 2.1. La saisie

Plus en détail

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux Distribué par Le Projet Documentation d'openoffice.org Table of Contents 1) Préambule...3 2) Télécharger

Plus en détail

GUIDE D UTILISATION DU CENTRE DE DONNÉES DE L ISU

GUIDE D UTILISATION DU CENTRE DE DONNÉES DE L ISU GUIDE D UTILISATION DU CENTRE DE DONNÉES DE L ISU Table des matières Page I. DÉMARRER... 4 1. Comment accéder au Centre de données de l ISU?... 4 2. Quels sont les types de tableaux statistiques disponibles

Plus en détail

SOMMAIRE... 1 ESPACE DU CLUB...

SOMMAIRE... 1 ESPACE DU CLUB... Documentation Extraclub Page 1/11 Sommaire SOMMAIRE... 1 ESPACE DU CLUB... 2 INTRODUCTION... 2 Bien utiliser la gestion du club... 2 Termes utilisés dans cet espace... 2 Par quoi commencer?... 2 L onglet

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

GEST_INSTANCES APPLICATION DE GESTION DES INSTANCES ET REUNIONS EN EPLE ETABLISSEMENT PUBLIC LOCAL D ENSEIGNEMENT

GEST_INSTANCES APPLICATION DE GESTION DES INSTANCES ET REUNIONS EN EPLE ETABLISSEMENT PUBLIC LOCAL D ENSEIGNEMENT GEST_INSTANCES APPLICATION DE GESTION DES INSTANCES ET REUNIONS EN EPLE ETABLISSEMENT PUBLIC LOCAL D ENSEIGNEMENT Table des matières : Description de l application :... 2 Les raisons d une telle application

Plus en détail

Créer une base de données

Créer une base de données Access Créer une base de données SOMMAIRE Généralités sur les bases de données... 3 Création de la base de données... 4 A) Lancement d'access... 4 B) Enregistrement de la base de données vide... 4 Création

Plus en détail

Guide d installation de Gael

Guide d installation de Gael Guide d installation de Gael Outil web libre de gestion des élèves du premier degré, complément naturel d Iconito documentation version 1.2 juillet 2007 Gael version 0.5 Table des matières Objet... 3 Support...

Plus en détail

Ouvrir le compte UQÀM

Ouvrir le compte UQÀM Cliquez sur le titre pour visionner 1 Cliquez sur le titre pour visionner 2! Préliminaires! Ouvrir le compte UQÀM! Accéder au compte UQÀM! Paramètres de configuration! Les dossiers! Gérer les dossiers!

Plus en détail

Thème : Gestion commerciale

Thème : Gestion commerciale Département Génie Informatique BD40 Ingénierie des systèmes d information TP 4 : Ms/Access : Listes déroulantes, Formulaires avancés Thème : Gestion commerciale Christian FISCHER Copyright Novembre 2005

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

Auto-évaluation SQL. Document: f0453test.fm 19/04/2012. ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium

Auto-évaluation SQL. Document: f0453test.fm 19/04/2012. ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium Auto-évaluation SQL Document: f0453test.fm 19/04/2012 ABIS Training & Consulting P.. Box 220 B-3000 Leuven Belgium TRAINING & CNSULTING INTRDUCTIN AUT-ÉVALUATIN SQL Indications d utilisation Ce test est

Plus en détail

SQL Serveur 2012+ Programme de formation. France Belgique Suisse - Canada. Formez vos salariés pour optimiser la productivité de votre entreprise

SQL Serveur 2012+ Programme de formation. France Belgique Suisse - Canada. Formez vos salariés pour optimiser la productivité de votre entreprise SQL Serveur 2012+ Programme de formation France Belgique Suisse - Canada Microsoft Partner Formez vos salariés pour optimiser la productivité de votre entreprise Dernière mise à jour le : Avril 2014 Des

Plus en détail

Olivier Mondet http://unidentified-one.net

Olivier Mondet http://unidentified-one.net T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage

Plus en détail

Introduction au Système de Gestion de Base de Données et aux Base de Données

Introduction au Système de Gestion de Base de Données et aux Base de Données Introduction au Système de Gestion de Base de Données et aux Base de Données Formation «Gestion des données scientifiques : stockage et consultation en utilisant des bases de données» 24 au 27 /06/08 Dernière

Plus en détail

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures 3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures Objectif global : A l issue de la formation, les stagiaires doivent être opérationnels dans la création d un site internet

Plus en détail

La Clé informatique. Formation Excel XP Aide-mémoire

La Clé informatique. Formation Excel XP Aide-mémoire La Clé informatique Formation Excel XP Aide-mémoire Septembre 2005 Table des matières Qu est-ce que le logiciel Microsoft Excel?... 3 Classeur... 4 Cellule... 5 Barre d outil dans Excel...6 Fonctions habituelles

Plus en détail

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2 Sommaire I. SCENARII DE TRAITEMENTS...2 I.1 : Alimentation à partir d un fichier Access (.mdb)...2 I.1 : Vérification de l intégrité des traitements SQL sur la pyramide des ages...3 I.2 : Vérification

Plus en détail

Tutoriel Drupal version 7 :

Tutoriel Drupal version 7 : Tutoriel Drupal 7: Installation en local sous Windows 1 Tutoriel Drupal version 7 : Installation en local Sous Windows Tutoriel Drupal 7: Installation en local sous Windows 2 1. Logiciels nécessaires Drupal

Plus en détail

I. MySQL : Serveur et SGBD

I. MySQL : Serveur et SGBD Le Système de Gestion de Base de Données MySQL I. MySQL : Serveur et SGBD Menu I. MySQL : Serveur et SGBG II. Création d'une base de données avec MySQL MySQL est un système de gestion et conception de

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

Les BASES de DONNEES dans WampServer

Les BASES de DONNEES dans WampServer Les BASES de DONNEES dans WampServer 1 Définitions Générales Une base de données (BDD) permet d'enregistrer, de stocker, de ranger des données de façon organisée et hiérarchisée. SQL est le langage qui

Plus en détail

La présente publication est protégée par les droits d auteur. Tous droits réservés.

La présente publication est protégée par les droits d auteur. Tous droits réservés. Editeur (Medieninhaber/Verleger) : Markus Winand Maderspergerstasse 1-3/9/11 1160 Wien AUSTRIA Copyright 2013 Markus Winand La présente publication est protégée par les droits d auteur.

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

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail

Utilisation du client de messagerie Thunderbird

Utilisation du client de messagerie Thunderbird Outlook express n existant plus sur les systèmes d exploitation sortis après Windows XP, nous préconisons désormais l utilisation du client de messagerie libre distribué gratuitement par la Fondation Mozilla.

Plus en détail