Base de données relationnelle et requêtes SQL



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

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

FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL

Remarques préliminaires L installation a été testée sur XP, Vista et Windows 7.

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

PMB : l'essentiel! Présentation - Sommaire. Fiche technique PMB n 1.6

1 Introduction et installation

A.-M. Cubat PMB - Import de notices à partir d un tableur Page 1 Source :

Création de Sous-Formulaires

Extraits de comptes codifiés

A.-M. Cubat Mise à jour de PMB Passer à une version plus récente du logiciel Page 1 Source :

MO-Call pour les Ordinateurs. Guide de l utilisateur

Utiliser Access ou Excel pour gérer vos données

Comment utiliser le catalogue?

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

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

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

Guide de l utilisateur du Centre de gestion des licences en volume LICENCES EN VOLUME MICROSOFT

SUPPORT DE COURS ACCESS 2010

Les bases de données

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

Manuel de l utilisateur Solwatt du service extranet.

Bases de données élémentaires Maude Manouvrier

MODE OPERATOIRE OPENOFFICE BASE

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

FICHIERS ET DOSSIERS

NOTICE D UTILISATION

Comment automatiser la création d index multiples avec Word Paul-Henri Dumas - URFIST

Afin d accéder à votre messagerie personnelle, vous devez vous identifier par votre adresse mail et votre mot de passe :

Le langage SQL Rappels

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

Gérer les règles de prix catalogue sur Magento

Guide d utilisation des services My Office

les Formulaires / Sous-Formulaires Présentation Créer un formulaire à partir d une table...3

EXCEL TUTORIEL 2012/2013

Dossier I Découverte de Base d Open Office

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

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

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

Business Intelligence

1. Les systèmes de Gestion de Bases de Données

Transfert de notices bibliographiques et d autorité en ligne depuis BnF catalogue général Mode d emploi complet

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

SOMMAIRE. 1. Connexion à la messagerie Zimbra Pré-requis Ecran de connexion à la messagerie 4

Guide de l Administrateur

CREG : versailles.fr/spip.php?article803

Editer un catalogue avec OpenOffice

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

Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1

Groupe Eyrolles, 2003, ISBN : X

Utiliser les supports d'exemplaires

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

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

Formation à BCDI abonnement du 27 mars et du 21 avril 2009 LEGTA Dardilly

Créer une base de données vidéo sans programmation (avec Drupal)

TD3 - Facturation avec archivage automatisé

Utiliser un tableau de données

Saisie de données dans plusieurs tables

Créer et gérer ses abonnements dans Citédoc bibli

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

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

Langage SQL : créer et interroger une base

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Manuel d utilisation de la messagerie.

La carte de contrôle chômage complet

Faire des modifications par lot

Portail : mode d emploi

Database Manager Guide de l utilisateur DMAN-FR-01/01/12

UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE

Descriptif des fonctionnalités de notre site professionnel. Page 1 sur 13

Guide d utilisation de la base de données bibliographiques. Centre de ressources - IFsanté

Manuel d utilisation du web mail Zimbra 7.1

Groupe Eyrolles, 2006, pour la présente édition, ISBN :

Créer une base de données

Guide de l utilisateur de Cisco Unified Communications Manager Assistant pour Cisco Unified Communications Manager 6.0

Concevoir une base de données

Manuel d utilisation

Guide du RDAQ. Comment saisir des descriptions de fonds et collections dans le Réseau de diffusion des archives du Québec (RDAQ)

Base est le module pour les bases

Bases de données relationnelles

Les BASES de DONNEES dans WampServer

Modes Opératoires WinTrans Mai 13 ~ 1 ~

Guide de l utilisateur Auteurs

Formation. Module WEB 4.1. Support de cours

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

Utilisation du client de messagerie Thunderbird

Démarrer et quitter... 13

Twitter et Netvibes pour la veille

PROTEGER SA CLE USB AVEC ROHOS MINI-DRIVE

Créer un site Internet dynamique

MODE D EMPLOI. Plateforme de réflexion et de recherche de la CIDEGEF pour un modèle de management francophone

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

Gestion des bases de données (2 e partie)

Access 2007 FF Access FR FR Base

LEXIQUE DES TERMES DOCUMENTAIRES LES PLUS COURANTS

Je sais utiliser. Logiciel gratuit de gestion des photos. Étude en 5 parties

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

Transcription:

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, c est plus clair?

Vous aviez bien deviné, c était le schéma de PMB Pour les bibliothécaires : un coup d œil en coulisses! Comprendre les tables et leurs relations est une étape indispensable pour qui veut rédiger une requête SQL. N.B. SQL = Standard Query Language ( a query : une requête, une interrogation) Langage standardisé pour interroger une base de données Cela permet de personnaliser la gestion pour: obtenir des états «personnalisables» - préciser les tables et les champs à afficher - spécifier les critères de sélection et de tri des données - obtenir des statistiques (achats, prêts, lecteurs ) - affiner la présentation (publipostage éventuel) gérer les données par lot grâce aux «paniers» - sélectionner les données afin de constituer des paniers de notices, d exemplaires, de bulletins ou de lecteurs - agir globalement sur le contenu de ces paniers

Pour les bibliothécaires : un coup d œil en coulisses! Les actions ou états «personnalisables» de PMB sont encodés ou importés dans l onglet «administration» sont exécutés en général dans l onglet «éditions» afin de pouvoir transférer les données vers un tableur

Pour les bibliothécaires : un coup d œil en coulisses! Les paniers de PMB sont gérés dans l onglet «catalogue» s il s agit de paniers de notices, de bulletins ou d exemplaires dans l onglet «circulation» s il s agit de paniers de lecteurs Le sous-menu est identique dans tous les cas : gestion des paniers et des procédures, collecte, pointage, actions

1. L accès aux coulisses : PhpMyAdmin Un clic droit sur l icône de EasyPhp vous mène à ce sous-menu. Choisir «administration» Sélectionner l option «Gestion BDD» Sélectionner une base de données, p.ex. «bibli» Sélectionner une table, p.ex. «indexint»

1. PhpMyAdmin et la structure d une table Cliquer sur «afficher» pour voir le contenu «Indexint» contient les indexations décimales.

1. PhpMyAdmin et la structure d une table Les champs de la table «indexint» indexint_id : c est la clé primaire de la table «indexint». C est un numéro unique d identification créé par auto-incrémentation Les numéros supprimés (1-2 - 5-7) ne seront pas réutilisés. indexint_name : indexation décimale choisie par le bibliothécaire Les valeurs peuvent être encodées dans un ordre quelconque. indexint_comment : commentaire, explication

1. PhpMyAdmin et la structure d une table Les champs de la table «indexint» index_indexint : un champ d indexation. Les tables importantes contiennent un ou plusieurs champs d indexation qui permettent de localiser plus vite l information recherchée. On voit ici que index_indexint est une concaténation de 2 autres champs : indexint_name et indexint_comment sont regroupés. En outre, le contenu est déjà transformé : conversion en minuscules, disparition des accents et des «mots vides» (par ex. le, la, un, une, en, ) Les infos importantes sont regroupées dans la table «notices_global_index», ce qui accélère les recherches demandées le plus souvent par l utilisateur. Au lieu de parcourir plusieurs tables, on cherche par priorité dans celle-là. N oubliez pas de réindexer les tables après une mise à jour de PMB!

1. PhpMyAdmin et la structure d une table Notre première requête SQL! SELECTIONNER liste de champs A PARTIR DE liste de tables TRIER PAR liste de champs SELECT indexint_name AS Cote, indexint_comment AS Commentaire FROM indexint ORDER BY indexint_name Pour connaître les noms des tables et des champs, on emploie PhpMyAdmin.

1. PhpMyAdmin et la structure d une table Notre première requête SQL! Et voilà le résultat Pourquoi SELECT AS plutôt que SELECT? Le «AS + un titre» (entre apostrophes) peut être omis. Si on n emploie pas le AS, le titre de la colonne sera par défaut le nom du champ, ce qui est moins clair. Comparez : Le titre «Cote» est plus explicite que le titre «indexint_name»!

2.1 Les relations entre les tables Quelques notions importantes Les données sont regroupées par entité logique dans une seule table pour éviter de répéter la même information. On aura donc une seule table de notices, d auteurs, d exemplaires, de lecteurs L intégrité des données est garantie par ce principe d unicité. En cas de modification, il ne faudra changer l information qu à un seul endroit. Les risques d erreur seraient plus nombreux si les données étaient répétées dans plusieurs tables. Chaque enregistrement doit pouvoir être identifié de manière univoque. Or vu l homonymie potentielle entre les lecteurs, les auteurs ou les titres, les risques d équivoque sont nombreux. C est pourquoi chaque clé primaire est unique dans la table. Cette clé (id) permet d identifier à coup sûr l élément recherché. Chaque nom de table doit être unique dans la base de données. Chaque nom de champ doit être unique dans la table. Les noms des tables ou des champs devraient être explicites. C est le cas dans PMB! Les noms des tables / champs sont significatifs.

2.1 Les relations entre les tables Pour exploiter vraiment une base de données relationnelle, il faut créer un système performant de liaisons entre les tables. On distingue 3 types de relation : la relation «un - un» la relation «un plusieurs» la relation «plusieurs plusieurs» Le premier type, la relation «un un», est assez rare. Cela implique que l on scinde un ensemble de données entre 2 tables : à un enregistrement de la table A correspond un et un seul enregistrement de la table B. C est parfois nécessaire pour accélérer le traitement d un grand nombre de données. Je parlerai donc uniquement des 2 autres types : la relation «un plusieurs» la relation «plusieurs plusieurs» Au départ, je me limite à une relation entre 2 tables au maximum. Nous verrons plus tard comment relier un nombre plus élevé de tables.

2.2 La relation «un plusieurs» Le schéma de PMB montre le lien entre les tables «indexint» et «notices» N.B. Vous disposez de ce schéma. Le fichier s appelle «scheme.gif». Il se trouve dans le dossier pmb\doc\noyau\

2.2 La relation «un plusieurs» Dans la table «indexint» indexint_id est la clé primaire qui identifie chaque enregistrement de manière univoque Dans la table «notices» indexint est la clé secondaire (clé étrangère) qui renvoie à la clé primaire de la table indexint

2.2 La relation «un plusieurs» Comment relier ces tables dans une requête? Par exemple pour afficher la liste des livres en anglais. N.B. Indexation décimale 850 : littérature en anglais (dans cet exemple) SELECTIONNER liste de champs A PARTIR DE liste de tables A CONDITION QUE condition 1 ET TRIER PAR condition 2 liste de champs N.B. Pour clarifier les choses, j ai écrit les instructions SQL en majuscules. Ce n est pas obligatoire. SELECT indexint_name AS Cote Dewey, indexint_comment AS Signification, tit1 AS Titre FROM notices, indexint WHERE indexint_name = 850 AND indexint = indexint_id ORDER BY tit1

2.2 La relation «un plusieurs» Comment afficher la liste des livres en anglais? SELECT indexint_name AS Cote Dewey, indexint_comment AS Signification, tit1 AS Titre FROM notices, indexint WHERE indexint_name = 850 AND indexint = indexint_id ORDER BY tit1 Dans la table «notices», il n y a pas de tri. Les notices apparaissent dans l ordre où elles ont été cataloguées, donc l ordre de notice_id. Résultat de la requête Les colonnes ont un titre explicite. Les notices apparaissent dans l ordre alphabétique du titre.

2.2 La relation «un plusieurs» Cet exemple illustre la relation «un plusieurs». Si on part d une des indexations, 0, 1 ou plusieurs liaisons vers la table «notices». Si on part d une des notices, 1 seule liaison vers la table «indexint». (ou 0 si le champ indexint est provisoirement vide) La relation peut s établir car un champ de la table «notices» est prévu à cet effet : le champ «indexint». Cette clé secondaire fait référence à la clé primaire de la table «indexint», c est-à-dire «indexint_id».

2.2 La relation «un plusieurs» Remarque importante La clé secondaire ne se trouve pas nécessairement dans une des 2 tables concernées, une relation «un plusieurs» entre 2 tables peut être établie dans une 3e table intermédiaire afin d optimiser le fonctionnement de PMB. Exemple Bulletins Dépouillements d articles : Un bulletin peut comprendre 0, 1 ou plusieurs articles dépouillés. Mais chaque notice d article ne fait référence qu à un seul bulletin. Techniquement, il pourrait y avoir une clé secondaire dans les notices d articles, puisque chaque notice d article ne renvoie qu à un seul bulletin, mais ce serait fort lent. Pour accélérer les recherches et l affichage des bulletins et des dépouillements, il y a une 3e table, «analysis», qui contient des liens déjà triés entre les bulletins et les notices des articles dépouillés. Nous en reparlerons plus tard.

2.2 La relation «un plusieurs» Autres exemples de la relation «un plusieurs» Notices - Titres de série : Une série peut comprendre 0, 1 ou plusieurs notices. Mais chaque notice ne fait référence qu à un seul titre de série. Notices - Exemplaires : Une notice peut correspondre à 0, 1 ou plusieurs exemplaires. Mais chaque exemplaire ne fait référence qu à une seule notice. Toutefois, la relation «un plusieurs» ne convient pas toujours. Nous allons voir pourquoi et comment gérer les liaisons dans ce cas.

2.3 La relation «plusieurs plusieurs» Le schéma de PMB montre que la liaison entre les notices et les auteurs se fait en passant par une table intermédiaire : la table «responsabilité». N.B. Par contre, la relation entre les notices et les titres de séries est de type «un plusieurs», comme expliqué précédemment. Le champ «tparent_id» (dans la table «notices») contient la clé secondaire, qui renvoie à «serie_id» (la clé primaire de la table «series»).

2.3 La relation «plusieurs plusieurs» Pourquoi employer une table intermédiaire? Car la relation entre notices et auteurs est de type «plusieurs plusieurs. Un auteur a pu rédiger 0, 1 ou plusieurs oeuvres. Il peut être auteur principal dans un cas, autre auteur ou auteur secondaire dans un autre. Et une notice peut faire référence à 0, 1 ou plusieurs auteurs. Auteur principal : M. Swan Auteur principal : J. Seidl Autre auteur : M. Swan Auteur principal : Fr. Uhlman Auteurs secondaires : L. Lack (traducteur) A. Koestler (préfacier)

2.3 La relation «plusieurs plusieurs» 3 tables : auteurs, notices et responsabilité Fonction 070 : auteur 080 : préfacier 730 : traducteur Type de responsabilité 0 : auteur principal 1 : autre auteur 2 : auteur secondaire Pour gérer la relation «plusieurs plusieurs», on crée une table intermédiaire, dans ce cas-ci les responsabilités. On crée une relation entre les clés primaires des auteurs et des notices, et on y ajoute des codes ( fonction et type de responsabilité de l auteur). Chaque enregistrement (= ensemble de données : auteur + notice + fonction) est unique, c est la clé primaire de cette table.

2.3 La relation «plusieurs plusieurs» Comment relier ces tables dans une requête? Par exemple pour afficher la liste des œuvres d un auteur. 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 author_name AS Auteur, author_rejete AS Prénom, tit1 AS Titre FROM notices, authors, responsability WHERE author_name = Uhlman AND author_rejete= Fred AND responsability_author = author_id AND responsability_notice= notice_id ORDER BY tit1

2.3 La relation «plusieurs plusieurs» Comment afficher la liste des œuvres d un auteur? SELECT author_name AS Auteur, author_rejete AS Prénom, tit1 AS Titre FROM notices, authors, responsability WHERE author_name = Uhlman AND author_rejete= Fred AND responsability_author = author_id AND responsability_notice= notice_id ORDER BY tit1 Il y a 2 types de conditions après «where»: - le filtre = les critères de recherche : dans ce cas-ci, nom et prénom de l auteur (conditions 1 et 2). - les critères de relation, pour établir des liaisons adéquates entre les tables (conditions 3 et 4). Résultat de la requête N.B. La notice «L ami retrouvé» figure 3 fois, car il y a dans cette base 3 éditions différentes de ce livre.

2.3 La relation «plusieurs plusieurs» Comment éviter l affichage de doublons? SELECT author_name AS Auteur, author_rejete AS Prénom, tit1 AS Titre FROM notices, authors, responsability WHERE author_name = Uhlman AND author_rejete= Fred AND responsability_author = author_id AND responsability_notice= notice_id ORDER GROUP BY tit1 ORDER BY tit1 Si nous avons plusieurs notices pour 3 ou 4 œuvres du même auteur, la liste risque de s allonger inutilement. Or dans ce cas-ci, nous ne nous intéressons pas au nombre de notices différentes, nous voulons seulement la liste des titres. Solution : l instruction GROUP BY Cette instruction permet de regrouper plusieurs lignes de résultat en une seule. On précise le critère de regroupement; dans ce cas, il s agit du titre de l œuvre. Chaque titre ne figure qu une seule fois. Cette instruction est souvent employée dans les requêtes de statistiques, pour obtenir des sous-totaux.

2.3 La relation «plusieurs plusieurs» Comment rendre cette requête interactive? SELECT author_name AS Auteur, author_rejete AS Prénom, tit1 AS Titre FROM notices, authors, responsability WHERE author_name =!!nom_auteur!! Uhlman AND responsability_author author_rejete= Fred = author_id AND responsability_notice= responsability_author = notice_id author_id AND responsability_notice= notice_id ORDER BY ORDER tit1by tit1 Cette procédure n est pas pratique, car elle n affiche que les œuvres de Fred Uhlman. Et il faudrait la modifier et la sauver chaque fois qu on veut voir les notices liées à un autre auteur. Il faut donc prévoir la possibilité pour l utilisateur de répondre à une question toute simple : «Nom de l auteur?» Solution : une formule étrange author_name =!!nom_auteur!! Les doubles points d exclamation au début et à la fin indiquent l interactivité : l utilisateur pourra répondre à une question. L ajout d une apostrophe au début et d une autre à la fin signale qu il s agit d une valeur alphanumérique. S il n y avait pas d apostrophes, on ne pourrait introduire que des valeurs numériques.

2.3 La relation «plusieurs plusieurs» Comment obtenir une requête interactive? 1. Créer la requête et la sauvegarder 2. Configurer les paramètres 3. Signaler comment répondre : texte (= directement au clavier) liste de choix à partir d une requête sélection d une date 4. Préciser les options et enregistrer le tout

2.3 La relation «plusieurs plusieurs» Cet exemple illustre la relation «plusieurs plusieurs». Si on part d un des auteurs, il y a 0, 1 ou plusieurs liaisons vers la table «notices». Si on part d une des notices, il y a 0, 1 ou plusieurs liaisons vers la table «auteurs». Responsabilités Il est donc impossible de créer des clés secondaires, puisqu on ignore au départ le nombre de relations dans un sens ou dans l autre, et qu en outre, ce nombre pourrait être fort élevé. Le système ne serait pas gérable. Dès lors, il faut une table intermédiaire pour établir les liaisons auteurs notices.

2.3 La relation «plusieurs plusieurs» Autres exemples de la relation «plusieurs plusieurs» Notices - Mots-clés du thésaurus (les catégories de PMB) : Une notice peut être liée à 0, 1 ou plusieurs catégories (via la table «nœuds»). Et une catégorie peut être employée dans 0, 1 ou plusieurs notices. Paniers Notices, exemplaires, bulletins ou lecteurs : Un panier peut contenir 0, 1 ou plusieurs exemplaires. Un exemplaire peut se retrouver dans 0, 1 ou plusieurs paniers. Un panier peut contenir 0, 1 ou plusieurs lecteurs. Un lecteur peut figurer dans 0, 1 ou plusieurs paniers.

3. Une balade virtuelle d une table à l autre C est ce genre de balade que je vous propose maintenant. Nous n allons bien sûr pas explorer toutes les tables ni toutes les relations possibles, mais vous verrez que finalement, PMB est un labyrinthe dont on sort assez facilement Rassurez-vous, vous ne risquez pas de vous perdre en route, le parcours est fléché! C est PhpMyAdmin qui nous servira de boussole L objectif est ici de vous montrer sur base d un exemple concret comment employer cette boussole pardon, ce GPS!!

3. Une balade virtuelle d une table à l autre Comment chercher avec PhpMyAdmin? Un exemple concret : relations entre notices et titres de série C est une relation de type «un - plusieurs», qui ne concerne que 2 tables : les notices et une autre. Etape n 1 : identifier la table qui contient les titres de série. Le schéma de PMB peut vous aider. Heureusement, les noms des tables et des champs sont significatifs dans PMB! Etape n 2 : explorer la table «series» Choisir un exemple significatif et facile à vérifier : Harry Potter. Mémoriser sa clé primaire, «serie_id» (qui vaut 2).

3. Une balade virtuelle d une table à l autre Etape n 3 : explorer la table «notices» afin de trouver la clé étrangère qui renvoie aux titres de série. Il s agit de «tparent_id».

3. Une balade virtuelle d une table à l autre Etape n 4 : dans PhpMyAdmin, lancer une recherche des notices liées à ce titre de série «Harry Potter». Préciser les champs à afficher Préciser le critère de recherche : tparent_id = 2

3. Une balade virtuelle d une table à l autre Etape n 5 : analyser le résultat Un petit «coup de pouce» : PhpMyAdmin nous aide à rédiger une requête SQL simple Vérifier si le résultat est cohérent, s il correspond à notre attente.

3. Une balade virtuelle d une table à l autre Etape n 6 : rédiger la requête SQL Voici le résultat.

3. Une balade virtuelle d une table à l autre Etape n 7 : améliorer la requête SQL Problème : si vous avez introduit au clavier seulement «Potter» ou uniquement «Harry», voici le message que vous obtiendrez. Lignes affectées : 0 Aucune notice ne vérifie la condition posée. On peut améliorer la requête en demandant de chercher dans la liste des titres de séries, ceux qui ressemblent au critère de recherche introduit au clavier. C est le sens de l instruction LIKE : ce qui ressemble à

3. Une balade virtuelle d une table à l autre Etape n 7 : améliorer la requête SQL Apostrophes : valeur alphanumérique LIKE %!!titre_serie!!% Symbole % : nombre indéterminé de caractères (0, 1, plusieurs) Cela correspond à l astérisque : Har* ceux dont le nom commence par «Har» Points d exclamation : interactivité, l utilisateur pourra choisir Ainsi, qu on ait répondu «Harry» ou «Potter», PMB va chercher un titre de série où un de ces noms figure, éventuellement précédé ou suivi d un ou de plusieurs caractères (symbole %).

Pour les bibliothécaires : un conseil final 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 «démystifié» le concept de base de données relationnelle. Dans un premier temps, cela vous permettra de comprendre mieux les requêtes SQL que vous pouvez trouver via la mailing-list, sur le Wiki, sur le site de Citédoc ou sur mon site Dans un deuxième temps, vous vous lancerez dans la rédaction de requêtes! Merci de votre attention Anne-Marie Cubat