Modèles de requêtes SQL

Slides:



Advertisements
Présentations similaires
MinExplore l’outil de découverte de la bibliothèque de Mines ParisTech Mars 2016.
Advertisements

LOGICIEL DOCUMENTAIRE PMB TUTORIEL A L'USAGE DES ELEVES ET DES ENSEIGNANTS Merci à Mme BATBIE, professeur-documentaliste – Collège Charloun Rieu – Saint-Martin.
Informatiser une BCD Document sous licence libre Creative Commons by-sa réalisé par Cyrille Largillier – IEN Mée sur Seine – Dammarie les lysCreative Commons.
Les profils du SEDA confection de profil avec Agape.
Informatiser une BCD Document sous licence libre Creative Commons by-sa réalisé par Cyrille Largillier – IEN Mée sur Seine – Dammarie les lysCreative Commons.
SQL : 4 fonctions d'exploitation de SGBD SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage informatique ayant pour.
Guide de l'enseignant SolidWorks, leçon 1 Nom de l'établissement Nom de l'enseignant Date.
Initiation à QuickPlace, janvier Initiation à QuickPlace n Nature de l'outil n Fonctions de base (lecture, création) n Fonctions de gestionnaire.
SQL partie 1 Langage de Définition de Données. SQL est un langage de définition de données  SQL est un langage de définition de données (LDD), c'est-à-dire.
Guide d’utilisation d’Europresse. Europresse : Qu’est-ce que c’est Un portail d’archives de presse Plus de 3000 sources disponibles dont environ 650 en.
Premiers pas avec PowerPoint
Nouveautés Version 4.1 et mai 2017.
AMUE – SIFAC Gestion des services fait sur SIFAC WEB
Recherche Summon - HINARI (Module 3)
Voyage dans le logiciel de présentation de la suite libre.
Ecran d’accueil Une fois le compte de votre entreprise créé et validé par notre service clients, vous recevrez par , un lien vous invitant à vous.
MÉTHODOLOGIE DU DIAPORAMA
Titre Noms des auteurs 1. A propos de ce chablon
COURS EXCEL INITIATION EPN LES PICOULET Elsa DELAUNAY.
Version (S60) Lien entre le Document unique (DAU) et la banque de données des autorisations MASP pour la procédure de domiciliation et l’allégement.
COLLEGE LES GORGUETTES CASSIS
Ecriture collaborative d’une dissertation en classe
Initiation aux bases de données et à la programmation événementielle
Outils méthodologiques
Plateforme CountrySTAT Aperçu global de la préparation des tableaux dans la nouvelle plateforme CountrySTAT FORMATION DES POINTS FOCAUX SUR LE SYSTEME.
Les Bases de données Définition Architecture d’un SGBD
Orienter le client vers d’autres structures
Initiation aux bases de données et à la programmation événementielle
Généralité sur les bases de données
HISTORIQUE DES MISES A JOUR
Cyber-Sphinx Séance 2.
Faire de Zotero son hub de recherche : L’exemple Zotlog
Création d’un formulaire
1ers pas des utilisateurs migrés
Alma - Analytics Formation avancée
D3 – Produire, traiter, exploiter et diffuser des documents numériques
Numérisation partielle
Création Et Modification De La Structure De La Base De Données
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Guide n°1 Formation initiale
3- Nouvelles pages d’accueil
Guide n° 3 Formation initiale
Package R Markdown: Un outil pour générer des pages html avec R Studio
Formation sur les bases de données relationnelles.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
Gilles BADUFLE À partir d’un PPT modifié du C.A.H.M.
Base de données relationnelle et requêtes SQL
L1 Technique informatique
„La plate-forme EAI “ Initiation à WBI
Présentation des outils de recherche d’informations scientifiques
Comment utiliser l’application ?
03- Evaluation Access 2003 Cette évaluation comporte des QCM (1 seule réponse) et des Zones à déterminer dans des copies d’écran.
Affichage et tri des résultats
Je clique sur l’icône Kiosk en page d’accueil de E-SIDOC sur le site du cdi : pour un accès découverte. Les revues.
ENREGISTREMENT DES INSPECTIONS VISUELLES
Présentation générale
La recherche avancée.
Travaux Personnels Encadrés : Les 6 étapes de la Recherche Documentaire Année scolaire
Logiciel de présentation
Elles contiennent des informations autre que géométriques
Portail de saisie et de restitution
Comment la faire ? Quand la faire ?
Base de données relationnelle
Formation « Utiliser un site Internet école »
Tableaux croisés dynamiques sous Excel: des outils simples pour une analyse rapide de jeux de données en cytométrie Camille SANTA MARIA Ingénieur d’étude.
SQL Structured Query Language
Délégation académique pour le numérique éducatif
STS Web Services libres Gérer les services libres
Les données structurées et leur traitement
Transcription de la présentation:

Modèles de requêtes SQL http://www.sigb.net PMB http://amcubat.be/docpmb Modèles de requêtes SQL Module n° 1 Anne-Marie Cubat Gérer une bibliothèque ? Oui, c’est facile si vous utilisez PMB !

Modèles de requêtes SQL (1) Introduction 1. Rappels : bases de données relationnelles 2. Liste de données dans une seule table 3. Sélection de données dans une seule table 4. Sélection de données dans 2 tables 5. Aide en ligne Ce diaporama est mis à disposition par Anne-Marie Cubat selon les termes de la licence Creative Commons Attribution – Pas d’utilisation commerciale – Pas de modification Toutes les captures d'écran sont publiées avec l'accord de PMB Services et sont libres. Leur réutilisation doit cependant mentionner l'origine : « PMB Services et les divers contributeurs au logiciel PMB », ainsi que le site de la forge du projet PMB : http://forge.sigb.net/redmine/projects/pmb http://amcubat.be/docpmb

Rappels : bases de données relationnelles Le langage SQL et les bases de données relationnelles SQL = Structured Query Language Query : une requête Langage structuré pour formuler des requêtes, pour interroger une base de données Les relations entre les tables dans PMB sont basées sur le principe de l’unicité Ex. Chaque lecteur est unique, chaque exemplaire aussi, et ils se repèrent « techniquement » dans la base par leur numéro identifiant (numéro d’id). Le numéro identifiant est attribué par un système d’auto-incrémentation. Cela veut dire qu’il augmente automatiquement, vous ne pouvez pas le choisir. Il reflète donc l’ordre chronologique d’attribution des numéros : le 1er élément créé aura le n° 1, le 5e le numéro 5, etc. Si vous supprimez un élément, et que vous en créez ensuite un nouveau, cet ancien numéro identifiant ne sera jamais réattribué, il ne sera pas recyclé à un autre usage. Au fil du temps, la liste des numéros d’id devient incomplète Ce principe d’unicité est valable entre autres pour les Autorités : auteur, éditeur, collection, indexation décimale, descripteur … les données liées aux exemplaires les données liées aux lecteurs http://amcubat.be/docpmb

Rappels : bases de données relationnelles Tout champ qui correspond à un numéro identifiant dans une table contient une valeur appelée clé primaire ou clé étrangère. Exemple : l’éditeur n° 4 : Hachette jeunesse Dans la table d’origine (ex. éditeurs), on dit que le champ ed_id contient une clé primaire qui permet d’identifier chaque éditeur. Si on fait référence à cet identifiant dans une autre table (ex. notices), on dit que le champ ed1_id (éditeur principal) contient une clé étrangère. C’est pour cette raison que PMB vous interdit parfois de supprimer un élément dans une table, parce qu’il est utilisé « ailleurs » dans la base. Ex. On ne peut pas supprimer l’enregistrement n° 4 de la table des éditeurs aussi longtemps que la notice n° 12 existe, sinon la clé étrangère (du champ ed1_id) ne correspondrait plus à rien. Autre cas « célèbre » dans PMB : on supprime d’abord l’exemplaire, et ensuite la notice. Faire les choses dans l’ordre inverse est impossible. Evitez donc de supprimer inconsidérément des éléments dans PhpMyAdmin ou par requête SQL ! Cela peut entraîner de sérieux dysfonctionnements. http://amcubat.be/docpmb

Rappels : bases de données relationnelles Relation « un – plusieurs » Exemple de départ : lien entre notices et éditeurs Si on part de la table des notices : 0 ou 1 lien Une notice peut être liée à 0 ou 1 éditeur principal au maximum Si on part de la table des éditeurs : 0, 1 ou n liens Un éditeur principal peut être lié à 0, 1 ou n notices http://amcubat.be/docpmb

Rappels : bases de données relationnelles Relation « plusieurs – plusieurs » Exemple de départ : lien entre notices et auteurs Une notice peut avoir 0, 1 ou plusieurs auteurs : auteur principal, autre auteur, auteur secondaire. Un auteur peut être lié à 0, 1 ou plusieurs œuvres En outre, les fonctions de l’auteur peuvent varier d’un cas à l’autre : ex. auteur au sens strict, traducteur, illustrateur ou préfacier. Par conséquent, des liens directs entre la table des notices et celle des auteurs ne permettraient pas de gérer toutes les liaisons possibles. Il est en effet impossible de deviner a priori le nombre potentiel de liaisons dans un sens comme dans l’autre. Il faut donc employer une table intermédiaire : « responsability » (sic) http://amcubat.be/docpmb

Rappels : bases de données relationnelles Même si vous n'avez pas accès à PhpMyAdmin, vous pouvez connaître les noms des tables et des champs, ainsi que leur signification. L'adresse à saisir dans le navigateur ressemble à ceci http://mon_site/pmb/doc/noyau/ ou http://mon_site/pmb/doc/noyau/index.php http://mon_site/doc/noyau/ ou http://mon_site/doc/noyau/index.php Vous voyez ainsi les liens entre les tables, et vous pouvez naviguer de l’une à l’autre. La table des prêts contient une clé primaire (pret_idexpl) et 2 clés étrangères, qui renvoient aux tables des emprunteurs (empr) et des archives (pret_archive) On mentionne aussi le nom du champ qui contient la clé (ex. id_empr dans empr) Ce type de balade virtuelle facilitera sûrement la rédaction des requêtes SQL … http://amcubat.be/docpmb

Modèles de requêtes SQL (1) Liste de données dans une seule table 1. Rappels : bases de données relationnelles 2. Liste de données dans une seule table 3. Sélection de données dans une seule table 4. Sélection de données dans 2 tables 5. Aide en ligne http://amcubat.be/docpmb

Liste de données dans une seule table Liste de lecteurs Résultat à obtenir Démarche initiale : chercher le nom de la table et des champs concernés http://amcubat.be/docpmb

Liste de données dans une seule table Liste de lecteurs Requête SQL Onglet Administration Structure de base de la requête SELECT champ1, champ2, champ3 FROM table1 ORDER BY champ1(,champ2, champ3) Commentaires « AS » introduit un « alias » : au lieu de voir le nom du champ dans l’en-tête de la colonne, on voit le titre prévu (à mettre de préférence entre guillemets, surtout si le titre choisi contient des caractères accentués) CONCAT(valeur1, valeur2, valeur3) permet de concaténer une chaîne de caractères (en faire un ensemble) ORDER BY spécifie les critères de tri http://amcubat.be/docpmb

Modèles de requêtes SQL (1) Sélection de données dans une seule table 1. Rappels : bases de données relationnelles 2. Liste de données dans une seule table 3. Sélection de données dans une seule table 4. Sélection de données dans 2 tables 5. Aide en ligne http://amcubat.be/docpmb

Sélection de données dans une seule table Sélection de lecteurs Ceux dont le nom ou le prénom contient le groupe de lettres « schtr »«  Résultat à obtenir Démarche initiale : chercher le nom de la table et des champs concernés http://amcubat.be/docpmb

Sélection de données dans une seule table Liste de lecteurs Requête SQL Onglet Administration Structure de base de la requête SELECT champ1, champ2, champ3 FROM table1 WHERE condition1= … AND/OR condition2 = … ORDER BY champ1(,champ2, champ3) Commentaires WHERE introduit la (les) conditions à vérifier (filtres) LIKE permet de repérer dans une chaîne de caractères la présence d’une sous-chaîne Le symbole % est le joker en SQL (l’équivalent de la troncature avec l’astérisque) LIKE « schtr% » teste la présence de la sous-chaîne au début de la chaîne LIKE « %schtr% » teste la présence de la sous-chaîne n’importe où dans la chaîne http://amcubat.be/docpmb

Sélection de données dans une seule table Sélection de lecteurs Recherche de doublons Requête SQL Onglet Administration On peut améliorer la requête en la rendant interactive L’utilisateur pourra saisir au clavier le nom recherché. Commentaires La présence des points d’exclamation autour du nom d’une variable indique une interaction. Il faut donc préciser le mode de choix du paramètre. Ex. texte, liste de choix, liste de choix à partir d’une requête, sélection d’une date. N.B. Dans ce contexte, « texte » signifie « saisie au clavier ». Le champ empr_nom est alphanumérique, c’est pourquoi il faut encadrer le nom de la variable par des apostrophes (inutiles si le champ est numérique). http://amcubat.be/docpmb

Modèles de requêtes SQL (1) Sélection de données dans 2 tables 1. Rappels : bases de données relationnelles 2. Liste de données dans une seule table 3. Sélection de données dans une seule table 4. Sélection de données dans 2 tables 5. Aide en ligne http://amcubat.be/docpmb

Sélection de données dans 2 tables Sélection des lecteurs qui ont des prêts en cours Résultat à obtenir En premier lieu : chercher le nom de la table et des champs concernés Contenu de la table des prêts http://amcubat.be/docpmb

Sélection de données dans 2 tables Sélection des lecteurs qui ont des prêts en cours Requête SQL Onglet Administration Sélection / pointage des lecteurs qui ont des prêts en cours Onglet Circulation Commentaires GROUP BY permet de regrouper si nécessaire les éléments qui ont la même valeur, et évite donc l’affichage de doublons. Même si un lecteur a plusieurs prêts en cours, il est inutile que son nom figure plusieurs fois, si on souhaite seulement avoir la liste des emprunteurs. http://amcubat.be/docpmb

Sélection de données dans 2 tables Petit test : à vous de comprendre !! Liste des exemplaires qui figurent dans un ou plusieurs paniers Résultat à obtenir Requête SQL - Onglet Administration Sous-requête Sélection / pointage des exemplaires en prêt actuellement Onglet Catalogue http://amcubat.be/docpmb

Pour les bibliothécaires : pas de panique à bord ! Des aides en ligne sont disponibles Le site de PMB : http://www.sigb.net Le guide officiel : http://doc.sigb.net/pmb42/co/guide_complet_web_v42_1.html Autres sources de documentation : http://www.sigb.net/index.php?lvl=cmspage&pageid=20 L’aide de la communauté, l’inscription à la plate-forme PMB Community : https://pmb.community Mon site personnel : http://amcubat.be/docpmb http://amcubat.be/docpmb

Pour les bibliothécaires : pas de panique à bord ! http://amcubat.be/docpmb PMB, c'est un logiciel de gestion de bibliothèque d'une richesse indéniable. PMB, c'est une communauté qui s'est créée dans l'esprit des logiciels libres. Dans ce site, j'ai rassemblé de la documentation à propos de PMB, la "Potion Magique pour Bibliothécaires" préparée par Eric Robert et Florent Tétart. Vous y trouverez des informations sur divers sujets : fonctionnement de certains modules, concept de paniers, gestion et paramétrage du logiciel, initiation au langage SQL et aux bases de données, requêtes SQL prêtes à l'emploi et commentées, impression et publipostage, installation et mise à jour, import de données, construction du portail de PMB, etc. Ce site est pour moi une manière de rendre à la communauté tout ce qu’elle m’a donné. J'espère que cette documentation pourra vous rendre service, et que cela vous permettra d'apprécier encore plus notre Petite Merveille de Bijouterie. Merci de votre attention Anne-Marie Cubat http://amcubat.be/docpmb