(4-705-96) Les bases de données
La base de données BIBLIO contient la description d'un système de prêt développé pour
une petite bibliothèque communautaire. Comme toute bibliothèque, elle met à la
disposition de ses membres des volumes. La base de données est donc composée comme
suit:
1. la table des auteurs: AUTEURS
2. la table des livres: LIVRES
3. la table des exemplaires disponibles: EXEMPLAIRES
4. la table des transactions d'emprunt: EMPRUNTS
5. la table des emprunteurs: MEMBRES
La table des auteurs (AUTEURS) répertorie les (30) auteurs des oeuvres littéraires que
l'on peut trouver à la bibliothèque. Chaque auteur est décrit par une fiche contenant son
nom, son pays d'origine, ainsi qu'un code d'identification unique (clef primaire).
La table des livres (LIVRES) répertorie les (49) oeuvres littéraires dont la bibliothèque
dispose d'au moins un exemplaire. Chaque fiche contient un numéro d'identification
unique, le titre de l'oeuvre et le code d'identification de l'auteur.
La table des copies de livres (EXEMPLAIRES) constitue la liste des (82) volumes
disponibles aux emprunteurs. Chaque volume est décrit par un code d'identification
unique et le code du livre (tel que listé dans la table LIVRES) ainsi que la date de l'achat,
le prix et le nombre de pages.
La table des transaction (EMPRUNTS) constitue l'historique de tous les (154) emprunts
effectués par les membres de la bibliothèque. Chaque fiche d'emprunt contient le numéro
de l'emprunteur, le code du volume emprunté, la date de l'emprunt (Date_Sortie) ainsi que
la date de retour si le volume a été retourné (vide sinon).
Enfin, la table des emprunteurs (MEMBRES) répertorie les (23) membres de la biblio-
thèque qu'il identifie à l'aide d'un numéro unique (clef primaire), et contient en plus son
nom (et son prénom), son sexe et sa date de naissance.
K. Malenfant page 1
Description de la base de données:
Table MEMBRES :
Num_Membre Texte 4 Clé primaire
Membre Texte 30 Nom, prénom du membre
Sexe Texte 1 "F"/"M"
Date_Naiss Date/Heure Date de naissance
Table EMPRUNTS :
N° Transaction Compteur Clé primaire : numéro automatique
Ref_Membre Texte 4 Numéro du membre
Ref_Exempl Texte 4 Code du volume emprunté
Date_Sortie Date/Heure Date de l'emprunt
Date_Retour Date/Heure Date du retour (vide si non
retourné)
Table EXEMPLAIRES :
Num_Exempl Texte 4 Clé primaire
Ref_Oeuvre Texte 4 Code du «livre»
Date_Achat Date/Heure Date de l'achat
Prix Monétaire Coût de l'exemplaire
Nb_Pages Numérique Octet Nombre de pages...
Table LIVRES
Num_Livre Texte 4 Clé primaire
Ref_Auteur Texte 4 Code de l'auteur
Titre Texte 40 Titre de l'oeuvre
Table AUTEURS :
Num_Auteur Texte 4 Clé primaire
Auteur Texte 30 Nom de l'auteur
Pays Texte 3 Pays d'origine de l'auteur
K. Malenfant page 2
F Examinez la structure de chacune des tables pour vous familiariser avec les champs
qu'elles contiennent.
ü Remarquez que plusieurs des tables contiennent un champ de référence.
On désire la liste des emprunts faits par chacun des membres.
F Créez une première requête incluant les deux tables MEMBRES et EMPRUNTS.
Établissez la relation entre le champ Num_Membre de la table MEMBRES et le champ
Ref_Membre de la table EMPRUNTS.
F Placez dans la requête de sélection le champ Membre doté d'une clé de tri croissant, ainsi
que tous les champs de la table EMPRUNTS. Affichez.
ü On obtient le contenu de la table d'emprunts auquel on a ajouté le nom du membre.
On désire ajouter à notre liste le titre du volume emprunté. Ce titre se trouve dans la table
LIVRES mais il n'y a pas de lien direct entre cette table et la table d'emprunts. On doit
donc établir ce lien au travers la table des exemplaires.
F Par le menu ⇒ Requête (en mode «Création), ⇒ Ajoutez les deux tables EXEMPLAIRES
et LIVRES. Établissez les liens entre, d'une part, Ref_Exempl de la table EMPRUNTS
et Num_Exempl de la table EXEMPLAIRES; et d'autre part entre Ref_Oeuvre de la table
EXEMPLAIRES et le champ Num_Livre de la table LIVRES.
F Enlevez de la requête tous les champs de la table emprunts, sauf la date de sortie de
l'exemplaire et ajoutez le titre du livre emprunté. Puis affichez le résultat.
ü Notez que le nombre d'enregistrements affichés est toujours de 154 soit le nombre total
d'emprunts enregistrés jusqu'ici.
Ajoutez à votre liste le nom de l'auteur...
F Il suffit d'ajouter la table des auteurs, d'établir le lien entre la référence du fichier des livres
et le code de l'auteur, puis on ajoute le champ Auteur à la requête. Fermez et
sauvegardez cette requête sous le nom _Liste des livres empruntés_.
À partir de la requête précédente, affichez la liste des membres qui ont le plus utilisé la
bibliothèque en ordre décroissant du nombre d'emprunts.
F Créez une nouvelle requête à partir de la précédente, et faites un «regroupement» sur le
nom du membre et un «compte» du champ TITRE muni d'une clé (descendante) de tri.
F Fermer votre requête (nommez-la _Liste d'assiduité_) et votre base de données.
K. Malenfant page 3
A FAIRE POUR VOTRE TP
PARTIE 1 - ACCESS
Questions théoriques :
/1 Q-1. Justifiez pourquoi on a défini deux tables indépendantes pour décrire les volumes
et les oeuvres littéraires.
/2 Q-2. Si on devait absolument maintenir les informations suivantes, dans quelle table
devrait-on les placer:
a) La date de parution de la première édition du livre.
b) Le nombre d'exemplaires de chaque ouvrage.
c) La durée (en jours) d'un emprunt.
d) Le nombre de jours d'emprunt maximum auquel a droit un membre.
/3 Q-3a. Mise à jour de la base de données
Dans le cas où une mise à jour nécessite l'ajout d'une fiche dans un fichier comportant une
clef primaire NON AUTOMATIQUE (pas de type compteur), le numéro d'identification
attribué sera égal à celui du plus grand identificateur existant augmenté de 3. On
demande d'effectuer les mises à jours suivantes:
Achat d'ouvrages: La bibliothèque a acquis les volumes suivants le 2 mai 95:
L'histoire de France par San-Antonio (F), 284 pages, 29$ ,
La vie secrète du chacal par Daniel de Foe (2 exemplaires), 232 pages, 26$.
Transactions d'emprunt: Lors de la période de réparation du disque rigide du micro-
ordinateur, les préposés ont noté sur des cartes (à la main, vaille que vaille) les
transactions suivantes. Si une erreur s'est glissée (Hé! oui) et qu'elle peut facilement être
corrigée (ex. nom, date, nouveau membre) corrigez la transaction avant de la traiter. Si
on ne peut la corriger (transaction impossible ou volume inexistant), écartez la transaction.
Notez que les transactions ci-dessous n'ont pas été triées.
Date Emprunteur Volume Empr/retour
5 Mai 95 MATUVU ALFRED 222 E
(Né le 2 Mai 1959)
5 Mai 95 ROULEAU SERGE 15 E
7 Mai 95 HARRY GRISBY 78 E
8 Mai 95 FLINTSTONE WILMA 5 E
4 Mai 95 222 R
7 Mai 85 30 R
5 Mai 95 15 R
K. Malenfant page 4
/2 Q-3b. Diagramme de structure de données
Faites le diagramme de structure de données complet de la base de données Biblio et
identifier la cardinalité entre les tables.
Requêtes (N.B. Utilisez des requêtes successives au besoin)
/2 Q-4. On veut obtenir la liste (unique) alphabétique des membres qui ont un ou plusieurs
volumes en leur possession (date de retour vide dans le fichier EMPRUNTS).
/2 Q-5. On veut la liste de tous les volumes (oeuvres) par ordre alphabétique du nom de
l'auteur et du titre de l'oeuvre.
/2 Q-6. On veut une liste qui, pour chaque pays, affiche en ordre les oeuvres qui en sont
originaires.
/3 Q-7. Si on classe les emprunteurs en 4 groupes d'âge (0 à 20 ans, 20 à 40, 40 à 60, 60
et plus), comptez combien chaque groupe a emprunté de volumes et combien de
pages il (l'ensemble du groupe) a lu. Prenez l'âge en date du 7 mai 1995 et
comptez 365,25 jours par an. On suppose qu'il n'y a personne âgé de plus de 80
ans. Utilisez la division entière (\) pour produire vos groupes d'âges.
/3 Q-8. On désire la liste de tous les membres de la bibliothèque par ordre décroissant de
l'assiduité de lecture (nombre de volumes empruntés) et par ordre de nom. On
désire donc aussi ceux qui n'ont rien emprunté.
À remettre: Après avoir fait les modifications et vérifié la valeur de votre démarche,
préparez et imprimez les résultats des REQUÊTES. Remettez la description
de vos requêtes sur une feuille. Remettez vos questions théoriques en
format Word.
K. Malenfant page 5
PARTIE 2 - LA NORMALISATION
/10 Faites le diagramme de structure de données et tracez le diagramme de dépendances associé à la
situation suivante:
Le gouvernement de la Sylvanie veut développer une base de données qui lui permettra de conserver
les données sur les permis de conduire qu'il a émis à ses citoyens. Le permis de conduire contient, en
plus d'une photo du citoyen, les éléments d'information suivants:
• Numéro de référence
• Date d'entrée en vigueur
• Date d'expiration
• Classe. Il existe plusieurs classes de permis (autobus, véhicule d'urgence, véhicule automobile,
motocyclette, etc.). La classe est indiquée sur le permis par un code dont la signification est donnée
au verso du permis. Les classes ne sont pas exclusives, c 'est-à-dire qu'un même individu peut en
détenir plusieurs. Par exemple, la plupart des citoyens détiennent les classes 5, Véhicule automobile
et 6A, Motocyclette.
• Condition(s). Le citoyen peut être tenu de respecter une ou plusieurs conditions (lunettes ou
lentilles cornéennes, conduite de jour seulement, appareil auditif transmission automatique, etc.). Les
conditions à respecter sont indiquées par une lettre dont la signification est donnée au verso du
permis.
• Sexe
• Couleur des yeux
• Taille
• Nom du citoyen
• Adresse civique
• Rue
• Ville
• Province
• Code postal
• Numéro de dossier. Code inventé par le gouvernement qui débute par la première lettre du nom
du citoyen et qui contient entre autres sa date de naissance.
K. Malenfant page 6