Base de données relationnelle et requêtes SQL

Documents pareils
Base de données relationnelle et requêtes SQL

Portail : mode d emploi

A.-M. Cubat PMB - Import de lecteurs - Généralités Page 1 Source :

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

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

MODE OPERATOIRE OPENOFFICE BASE

Première étape : créer le fichier de données - extraire les données de PMB et les transférer dans Excel

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

Le disque dur. Le disque dur est l'organe servant à conserver les données sous forme de dossiers de manière permanente.

FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL

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

Thème : Gestion commerciale

Langage SQL : créer et interroger une base

Module de livraison DPD Magento

25/01/05 TD Entrepôt de données IHS / Master ICA

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

Modules ICI relais & EXAPAQ Predict v4.0

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Avertissement : ceci est un corrigé indicatif qui n engage que son auteur

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

Guide de recherche - 1 -

LOGICIEL MARCHES PUBLICS

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

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

Access 2007 FF Access FR FR Base

Guide de recherche documentaire à l usage des doctorants. Partie 1 : Exploiter les bases de données académiques

Modélisation et Gestion des bases de données avec mysql workbench

À la une Présentation

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

Exemple 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

Présentation du langage et premières fonctions

Transférer une licence AutoCAD monoposte

IFT3030 Base de données. Chapitre 1 Introduction

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Comment utiliser le catalogue?

Les ressources numériques de la bibliothèque sont regroupées dans un portail web ; elles offrent des services complets et facilement accessibles.

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

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION

SPECIFICATIONS TECHNIQUES : Gestion des Médicaments et des commandes de médicaments

Share Monitor Manuel de l utilisateur

Avertissements et Mises en garde

Logo interactif renvoyant respectivement vers les sites «service-public.fr» et «Minefi.gouv.fr».

Atelier 3 Gestion bibliographique - niveau 1. Principes de la bibliographie et prise en main de Zotero

ZOTERO Un outil gratuit de gestion de bibliographies

Intégrer des notices de MoCCAM-en-ligne dans BCDI abonnement

Saisie de données dans plusieurs tables

Création de Sous-Formulaires

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

SYSTÈMES D INFORMATIONS

TP Bases de données réparties

BIBLIOTHÈQUE NUMÉRIQUE MODE D EMPLOI

Compétences Business Objects

Logiciel de gestion de caisse et d ardoises

Cours 4 : Agrégats et GROUP BY

1. Base de données SQLite

Comment rédiger r une bibliographie? BULCO-Méthodologie documentaire-bibliographie-2010

Le Langage De Description De Données(LDD)

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Compte lecteur : Mode d emploi. Sommaire

Gérer ses fichiers et ses dossiers avec l'explorateur Windows. Février 2013

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

Découverte de Python

Gestion de références bibliographiques

Installer Joomla Pearson France Joomla! Le guide officiel Jennifer Marriott, Elin Waring

FileMaker 13. Guide de référence SQL

Schéma relationnel et contraintes d intégrité : le cas ConduiteAuto

Pégase 3 Echanges avec Compt heures

Cherche. Champ de saisie. Langue de. l interface. 1. Informations et. à l utilisation. NEBIS recherche. et trouver. Prêt

Notice de fonctionnement DVR H Méthode de Visionnage ESEENET

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

Manuel Viadeis CRM Connecteur intégration L100 étendue.

Notes de cours : bases de données distribuées et repliquées

MANUEL UTILISATEUR BALADEUR SANTÉ AUXILIAIRES MÉDICAUX ET SAGES-FEMMES C.D.C 1.40

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

Olivier Mondet

LEXIQUE DES TERMES DOCUMENTAIRES LES PLUS COURANTS

La recherche documentaire en français

Excel 2007 Niveau 3 Page 1

MO-Call pour les Ordinateurs. Guide de l utilisateur

LICENCE D'UTILISATION DE LOGICIEL

Créer un premier document avec Pages

AVANT-PROPOS INTRODUCTION INSTALLATION INSTALLER LE PLUGIN ZOTERO INSTALLER LE MODULE DE CITATION...

moccam-en-ligne Guide de l utilisateur

1) Information sur le logiciel et la notice 2) Le tableau de bord 3) Les devis 4) Les factures 5) Les factures d acompte 6) Les avoirs sur facture


Notice d utilisation de la Base de Données des décisions du Comité Directeur National

Utiliser les supports d'exemplaires

Chapitre 1 Qu est-ce qu une expression régulière?

Logiciels concernés. Situation. Ciel et le pont comptable. Note conçue et rédigée par Jalons sprl tous droits réservés - 27/06/2007.

Solutions en ligne Guide de l utilisateur

Mise à jour de la base de données des marques nationales du tourisme

CORRIGÉ GEDOC SA. Proposition de barème sur 70 points

La carte de contrôle chômage complet

AUJOUR'HUI, NOUS ALLONS DÉCOUVRIR

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

PAGE 1. L écran du logiciel d Open Office Draw. Barre de menu: Les commandes du logiciel

Bases de données relationnelles

OpenOffice.org Calc Ouvrir un classeur

PRESENTATION DES RECOMMANDATIONS DE VANCOUVER

Transcription:

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.

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

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 monographie monographie Niveau dans la hiérarchie article 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»

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.

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)

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. 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 liste de champs 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

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

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

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

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.

2. 1 La liste de choix à partir d un requête Comment obtenir la liste de tous les périodiques dépouillés? monographie monographie monographie Niveau dans la hiérarchie article 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.

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.

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

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!

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.

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.

2.2 La sélection d une date Voici le résultat final.

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