Base de données relationnelle et requêtes SQL

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

PRESAGE-CTE Programme MED
Support.ebsco.com Guide dUtilisation Création dune collection locale.
Présentation d’EBSCOhost
Story-board version 1.6 Statut : à valider Rédacteur : Nicole Djuissi
Story-board version 1.1 Statut : à valider Rédacteur : Nicole Djuissi
Support.ebsco.com Liste de résultats EBSCOhost Didacticiel.
Vocabulaire pour la passage du modèle conceptuel des données au modèle relationnel des données. MCDMRD EntitéTable PropriétésChamps, attribut IdentifiantClé
Le publipostage La fonction de fusion permet de créer des documents identiques dans les grandes lignes que l’on personnalise automatiquement à chaque destinataires.
Comprendre lergonomie du module Sconet BEE. La page daccueil de Sconet BEE Nom de létablissement Version du module Nom du module Sconet BEE Code de létablissement.
Comprendre l’ergonomie du module STSWEB
Collège ALCO.
BCDI MODE D’EMPLOI Ce logiciel vous permet de rechercher des documents (romans, documentaires, articles de périodiques, pages Web, cd-roms…) à partir.
Principe de défilement du document dans un traitement de texte
Les TABLEAUX Retour au menu principal.
Introduction générale
Guide dutilisation CINAHL. Via le catalogue Ariane de lUniversité Laval ( ) cliquez sur «Bases de données».
Présentation des tables des matières j puis appuyez sur F5 ou cliquez sur Diaporama > Du début. Pour commencer le cours, dans la barre des messages, cliquez.
Base de données relationnelle et requêtes SQL
Recherche dans CINAHL didacticiel
de trousses de lecture à la
12 novembre 2012 Grégory Petit
Requêtes SQL & Paniers Anne-Marie Cubat.
Recherche à la médiathèque.
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
PROGRAMME DE FIDÉLITÉ ADR
GERER UN BLOG MANUEL DAIDE A LUTILISATION DE BLOGGER Josiane Goettelmann Mai 2011.
Formation Microsoft®Access® 2010
Résumé présention excel
Mars 2013 Grégory Petit
Recherche avancée multi-champs EBSCOhost
Centre dabonnement Autodesk Mode demploi ---Vade-mecum Product Support Manager, Southern Europe.
Guide dutilisation Catalogue virtuel du Centre de documentation.
Laini Hyacinthe 2 e NSSE Access Les requêtes Laini Hyacinthe 2 e NSSE Plan 1.Quelques définitionsQuelques définitions 2.À quoi servent les requêtesÀ
Cette application vous permettra de de rechercher nimporte quelque chaîne de caractères ou de trier la base des mots-clés. Lutilisation de cette base de.
Savoir-faire Endnote Johanne Akpossan, janvier 2005.
Publispostage Menu Outils / Lettres et publipostage
SELECT {* | Expression [Alias] [,...] } FROM Table [WHERE Condition] [ORDER BY { Expression | Alias } [ ASC | DESC ] [NULLS FIRST | NULLS LAST ] [,...]
SQL Partie 3 : (LID : Langage d'interrogation de données)
1. Personnaliser lanimation 1 ère étape – Sélectionnez lobjet à animer (cliquez sur lobjet pour le sélectionner) 2 ème étape – Ouvrez le volet « Personnaliser.
Démo 1 : REDIGER UN BAIL modèle Test-Achats My Rent démo 1 TA.
VOUS ALLEZ ASSISTER A UNE DEMONSTRATION DU FONCTIONNEMENT DE LA BASE DE DONNEES DIPOUEST OUBLIEZ SOURIS ET CLAVIER ET LAISSEZ-VOUS GUIDER.
Excel (Partie 2).
Introduction Le SQL (Structured  Query Language) est un langage universel de gestion des bases de données. Il a une triple fonction : LDD Langage de Définition.
Dans la barre des messages, cliquez sur Activer la modification,
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II PRO-1024.
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Initiation aux bases de données
Réalisé par VISAGE JONATHAN (aidé par SLUYS DIDRIC) 2 NSSE.
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Diffusion Nationale TOULOUSE – Décembre 2008 STS Web Services libres Gérer les services libres.
Bureautique M1 Mise en forme évoluée 2.
POWERPOINT.
Comment trouver un document dans la base de données du CDI
Comprendre l’ergonomie du module STSWEB. La page d’accueil de STSWEB Code et Nom de l’établissement Version du module Campagne en cours Année affichée.
06/04/06 LES BASES DE DONNEES INTRODUCTION CogniTIC – Bruxelles Formation - Cepegra.
LES BASES DE DONNEES PRÉSENTÉ PAR CATHY ET THIBAULT.
Tutoriel
Gestion du Blog de classe Pages et sous pages Articles ds l’ordre chronologique le dernier en haut.
Search IM Nouvelle Interface adCenter Avril 2007.
Tutoriel V_Stage Cliquez pour continuer.
GUIDE D’UTILISATION SITE STE BATHILDE. Sommaire 1.Connexion - La page d’accueil 2.Gérer les articles: - Création - Modification - Suppression 3.Gérer.
Nous allons maintenant sélectionner le bouton pour le format MEDLINE et retenir les options 20 résultats par page et Sort by Most Recent (tri par plus.
PRESENTATION FLASH 2 MAURIN Marion BERETTI Vincent.
Le guide d’autoévaluation interactif, Mode d’emploi Version Mai 2016.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 11 Support de cours rédigé par Bernard COFFIN Université.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
Base de données relationnelle et requêtes SQL
Transcription de la présentation:

Base de données relationnelle et requêtes SQL 2e partie Anne-Marie Cubat

1. Les relations entre plusieurs tables Nous avons vu que l’emploi d’une table intermédiaire est la seule manière de gérer la relation « plusieurs – plusieurs ». Toutefois, on a aussi recours à ces tables intermédiaires dans le cas de relations multiples entre plusieurs tables, même s’il s’agit de relations « un - plusieurs » si on les envisage deux par deux. Exemple concret : les liens entre la « notice-mère » des périodiques (dans la table « notices ») les bulletins (dans la table « bulletins ») les dépouillements d’articles (dans la table « notices ») La table « analysis » établit un lien entre les bulletins et les dépouillements d’articles. http://amcubat.be/docpmb/

Exemple : nous partons à la recherche du « Petit Prince »… 1. Les relations entre plusieurs tables Exemple : nous partons à la recherche du « Petit Prince »… D’un clic de souris, nous envoyons ces résultats dans un panier d’exemplaires. 5 exemplaires : 1 bulletin, 4 livres Titre du bulletin Dépouillements http://amcubat.be/docpmb/

1. Les relations entre plusieurs tables Dans la table « notices » N’oubliez pas que dans PhpMyAdmin le symbole % est le « joker » qui permet de remplacer n’importe quel(s) caractère(s), et non pas l’astérisque comme on en a l’habitude ! monographie article Niveau dans la hiérarchie série = périodique Les 3 notices du livre  niveau_biblio = « m » niveau_hierar = « 0 » La notice de l’article  niveau_biblio = « a » niveau_hierar = « 2 » La notice du périodique  niveau_biblio = « s » niveau_hierar = « 1 » http://amcubat.be/docpmb/

Tout ceci accélère les recherches. 1. Les relations entre plusieurs tables Relations entre périodiques, bulletins et dépouillements Bulletins Notices Analysis bulletin_notice est la clé qui renvoie à notice_id : dans ce cas, cette notice est la « notice-mère » du périodique. analysis_bulletin est la clé qui renvoie à bulletin_id analysis_notice est la clé qui renvoie à notice_id : dans ce cas, ces notices sont des articles de périodique. On obtiendra plus vite la liste des articles classés par périodique et ensuite par bulletin. En effet, dans « analysis », les enregistrements sont triés par n° de bulletin, et ensuite par n° de notice (= article dépouillé). En outre, cette table ne contient que les n° des notices qui correspondent à des articles, les n° des notices de monographies ou de périodiques n’y figurent pas. Tout ceci accélère les recherches. http://amcubat.be/docpmb/

1. Les relations entre plusieurs tables Relations entre exemplaires, notices et bulletins Exemplaires Notices Bulletins expl_notice est la clé qui renvoie à notice_id : exemplaire d’un livre, d’un CD, d’un DVD … expl_bulletin est la clé qui renvoie à bulletin_id exemplaire d’un bulletin de périodique Suivant le cas, l’un ou l’autre de ces champs sera complété. N.B. Le champ expl_cb contient les numéros de codes-barres. bulletin_notice est la clé qui renvoie à notice_id la « notice-mère » du périodique mention_date est le libellé de période (formulation libre de la date de parution) date_date est une date au sens strict du terme (elle permet un tri chronologique exact) http://amcubat.be/docpmb/

Comment relier ces tables dans une requête ? 1. Les relations entre plusieurs tables Comment relier ces tables dans une requête ? Par exemple pour afficher la liste des bulletins d’un périodique. SELECT expl_cb as 'Code-barres', CONCAT(tit1,' - N° ', bulletin_numero) AS 'Titre - N° ', mention_date AS ‘Date’, bulletin_titre AS 'Titre du bulletin‘ FROM exemplaires, bulletins, notices WHERE tit1 LIKE '%!!titre_periodique!!%' AND niveau_biblio='s' AND bulletin_notice=notice_id AND expl_bulletin=bulletin_id ORDER BY tit1, date_date, expl_cb SELECTIONNER liste de champs A PARTIR DE liste de tables A CONDITION QUE condition 1 ET condition 2 ET condition 3 ET condition 4 TRIER PAR http://amcubat.be/docpmb/

Comment afficher une liste de bulletins ? 1. Les relations entre plusieurs tables Comment afficher une liste de bulletins ? SELECT expl_cb as 'Code-barres', CONCAT(tit1,' - N° ', bulletin_numero) AS 'Titre - N° ', mention_date AS ‘Date’, bulletin_titre AS 'Titre du bulletin‘ FROM exemplaires, bulletins, notices WHERE tit1 LIKE '%!!titre_periodique!!%' AND niveau_biblio='s' AND bulletin_notice=notice_id AND expl_bulletin=bulletin_id ORDER BY tit1, date_date, expl_cb Résultat de la requête http://amcubat.be/docpmb/

Comment afficher une liste de bulletins ? 1. Les relations entre plusieurs tables Comment afficher une liste de bulletins ? CONCAT( , , ) permet de concaténer plusieurs éléments, c’est-à-dire former une chaîne de caractères à partir des valeurs de certains champs et/ou de texte introduit entre apostrophes. Les divers éléments sont séparés par une virgule. SELECT expl_cb as 'Code-barres', CONCAT(tit1,' - N° ', bulletin_numero) AS 'Titre - N° ', mention_date AS ‘Date’, bulletin_titre AS 'Titre du bulletin‘ FROM exemplaires, bulletins, notices WHERE tit1 LIKE '%!!titre_periodique!!%' AND niveau_biblio='s' AND bulletin_notice=notice_id AND expl_bulletin=bulletin_id ORDER BY tit1, date_date, expl_cb niveau_biblio= ’s’ On ajoute ce critère afin de limiter la recherche aux périodiques dans le champ tit1. Il faut en effet exclure les titres des monographies, CD, DVD … contenant des mots tels que « vif » ou « express ». SELECT mention_date AS ‘Date’ On affiche le libellé de période (par exemple « du 5 au 11 mai 2006 »). ORDER BY date_date Le tri chronologique ne peut se baser que sur la date au sens strict (date_date). http://amcubat.be/docpmb/

2. Les requêtes de sélection interactive Comment rendre une requête interactive ? Jusqu’à présent, nous n’avons vu qu’un seul mode d’interactivité pour l’utilisateur : le mode « texte » : introduire une réponse directement au clavier. Toutefois, ce mode « texte » a des limites : il est par exemple plus fastidieux d’introduire le titre d’un périodique « manuellement » ou de devoir mémoriser le n° d’un bulletin qu’on veut absolument retrouver. Alors qu’il est si simple de sélectionner un périodique ou un bulletin dans une liste !! C’est pourquoi nous allons nous intéresser à d’autres possibilités d’interactivité : la liste de choix à partir d’une requête la sélection d’une date http://amcubat.be/docpmb/

2.1 La liste de choix à partir d’une requête Comment sélectionner des données à partir d’une requête ? Repartons de la procédure qui affichait la liste des bulletins. Nouvelle version : le mode de choix du paramètre change. Cette requête doit afficher la liste des périodiques disponibles. http://amcubat.be/docpmb/

2. 1 La liste de choix à partir d’un requête Comment obtenir la liste de tous les périodiques dépouillés ? monographie article Niveau dans la hiérarchie série = périodique Rappel : la notice-mère d’un périodique se repère par le champ « niveau_biblio ». S’il contient la valeur « s », il s’agit du titre d’un périodique. Voici la requête et le résultat obtenu. Nous allons la modifier légèrement et l’intégrer dans l’autre procédure. http://amcubat.be/docpmb/

2.1 La liste de choix à partir d’une requête Comment sélectionner des données à partir d’une requête ? Notez la syntaxe WHERE notice_id IN (!!periodiques!!) IN (!! !!) pour choisir dans une liste créée par requête Si vous cochez la case « liste multiple », vous pouvez sélectionner plusieurs éléments dans la liste. Cette requête ressemble fort à la procédure de base qui affiche la liste des périodiques. http://amcubat.be/docpmb/

2.1 La liste de choix à partir d’une requête Ajoutons un critère : la localisation Pour obtenir une liste de choix à partir d’une requête, il faut sélectionner l’id !! (notice_id ou idlocation) N.B. ORDER BY 2 = ORDER BY location_libelle car « location_libelle » est le 2e champ mentionné. http://amcubat.be/docpmb/

2.1 La liste de choix à partir d’une requête C’est la table « docs_location » qui contient les infos sur les localisations. Vous pouvez tester la requête, mais n’oubliez pas de l’enregistrer ! http://amcubat.be/docpmb/

2.2 La sélection d’une date Ajoutons encore un critère : restriction entre 2 dates Lorsque vous cliquez sur les options des dates, voici le message obtenu. http://amcubat.be/docpmb/

2.2 La sélection d’une date Voici l’écran de sélection. Choix d’un ou plusieurs périodiques. Choix d’une ou plusieurs localisations. Choix d’une date de début et d’une date de fin. http://amcubat.be/docpmb/

2.2 La sélection d’une date Voici le résultat final. http://amcubat.be/docpmb/

Pour les bibliothécaires : un conseil final Rappel important Ne pas modifier ou supprimer des données dans PhpMyAdmin. Vous risquez de provoquer des catastrophes ! Vous avez vu à quel point la structure des tables et de leurs relations était complexe. J’espère que ce diaporama aura contribué à démystifier le concept de base de données relationnelle. A vos claviers ! Commencez à rédiger des requêtes ! Merci de votre attention Anne-Marie Cubat http://amcubat.be/docpmb/