UBO, UFR Sciences, Département Informatique L1, parcours A IMP Introduction à l'informatique TD et TP n 9 Introduction aux bases de données Travaux Dirigés TD & TP 1 (2 + 2 heures) Auteur : Pascal Ballet Gestion d'une bibliothèque municipale Une bibliothèque municipale possède une collection de 10 000 ouvrages. Afin d'en faciliter la gestion, elle propose de stocker l'ensemble de ses livres dans une base de données. En tant qu'ingénieur en informatique, vous avez pour tâche de concevoir cette base de données. Voici les informations (cahier des charges préliminaire) que vous fournit la bibliothèque municipale : - le budget est de 12000 euros - le nombre de livres est d'environ 6 000 et c'est un employé de la bibliothèque municipale qui remplira, au fur et à mesure la base, - chaque livre devra être repéré de manière unique par son numéro ISBN, - un livre peut avoir été écrit par plusieurs auteurs, - un livre peut appartenir à plusieurs catégories (sciences, roman, enfant, BD...), - un livre doit pouvoir se repérer physiquement rapidement car il se trouve dans une salle particulière (Salle 1 à Salle 4) et sur un rayonnage spécifique (Rayonnage 1 à Rayonnage 50) - la base de donnée a vocation à être utilisée en intranet. Exercice 1 A- Etant donné les informations données par la bibliothèque municipale, quelle base de données libre ou du commerce est adaptée à cette problématique. B- Justifier les choix. Exercice 2 Créer une table livres permettant de mémoriser les titres des livres, leur numéro ISBN, leur date d'édition, le nombre de pages, un bref résumé, le numéro de la pièce et le numéro du rayonnage. 1
A- Indiquer le type de chacun des champs. B- Indiquer si un champ est une clé. Exercice 3 Deux tables sont encore nécessaires pour répondre au cahier des charges : la table auteurs-livres et la table catégories-livres. A- Créer ces deux tables pour qu'à un livre soient associés plusieurs auteurs et plusieurs catégories. Exercice 4 Il est maintenant nécessaire de relier les tables. A- Relier les 3 tables de la base de données. B- Indiquer le type de chacune des relations mise en place. Exercice 5 Votre base de données maintenant répond au cahier des charges préliminaire. Cependant, deux points nouveaux sont souhaités par la bibliothèque municipale dans son cahier des charges final : - elle désire avoir une table contenant des informations sur les auteurs et que ces auteurs soient identifiés de manière unique (sans doublons), - de même, elle désire avoir une table contenant des informations sur les catégories et que ces catégories soient identifiées de manière unique (sans doublons). Il faut donc créer deux nouvelles tables : - la table auteurs, qui contient l'identifiant unique d'un auteur (un simple numéro), son nom, son prénom, sa date de naissance, sa date de décès éventuelle et un résumé de sa vie, - la table catégories, qui contient l'identifiant unique d'une catégorie (un simple numéro), le nom de la catégorie et un descriptif de la catégorie. A- Créer ces deux tables B- Relier ces tables aux tables précédentes en modifiant éventuellement certaines des tables précédentes. C- Quel type de relation est implicitement effectué entre la table Livres et la table Auteurs et entre la table Livres et la table Catégories? Exercice 6 Votre base de données maintenant répond au cahier des charges final quant à sa structure. Il faut maintenant permettre à l'employé de la bibliothèque municipale de saisir les données de manière pratiques. 2
A- Quels sont les formulaires (avec éventuellement des sous formulaires) à développer pour permettre une saisie rapide et rigoureuse des données? B- Dans quel ordre doivent être remplis les formulaires? Exercice 7 Ecriture de requêtes SQL. A- Il est demandé maintenant d'écrire une requête SQL permettant de retrouver tous les auteurs nés au XIXème siècle. B- Donner la requête SQL permettant de classer tous les auteurs par leur date de naissance. C- Donner la requête SQL permettant de retrouver tous les livres d'un auteur. Pour l'exemple, nous prendrons le nom Hugo. Travaux Pratiques Généralités : Lancer ACCESS : Menu Démarrer->Programmes->ACCESS Fichier->Nouvelle Base de Données (nommée bibliothèque) La fenêtre principale de la base apparaît alors : NB : Vous créerez les tables en mode Création, les formulaires, les états et les requêtes à l'aide de l'assistant 3
Exercice 1 Créer la table livre (en mode création!) selon le modèle suivant : Pour placer la clé, il faut faire un clic droit sur la zone grise à gauche. Exercice 2 Mettez en œuvre avec ACCESS les autres tables suivante vues en TD (toujours en mode création) : Catégories Auteurs Catégories-Livres Auteurs-Livres Rq : pour les clés de type numérique, on pourra choisir une numérotation automatique. Exercice 3 Mettez en place les relations entre les tables. Pour cela, cliquer sur le bouton relations, ajouter vos 5 tables dans le plan de travail. Puis cliquer sur le champ à relier, maintenir le clic et déplacer la souris sur l'autre champ à relier. Une fois dessus, relâcher le clic. La relation apparaît alors. Renouveler l'opération pour les 4 relations. 4
Exercice 4 Créer un formulaire pour les auteurs, les catégories et les livres (en mode assistant). Par défaut, on placera tous les champ de la table dans le formulaire. Exercice 5 Créer 4 formulaires ayant chacun un sous-formulaire avec les tables suivantes : Catégories + Catégories-Livres (sous formulaire) Livres + Catégories-Livres (sous formulaire) Livres + Auteurs-Livres (sous formulaire) Auteurs + Auteurs-Livres (sous formulaire) Exercice 6 Remplissez les formulaires et les sous formulaires avec 3 auteurs, 6 œuvres et 2 catégories. Exercice 7 Crée graphiquement les requêtes de l'ex 7 du TD (en mode assistant) et tester ces requêtes. 5