Correction TP la structure d’une BD Ex01
Correction TP la structure d’une BD Ex01
-
Objectifs
- Déduire la structure d’une base de données à partir d’un énoncé décrivant un domaine donné
- Détecter les anomalies dans la structure de tables.
-
Exercice:01
-
Énoncé
-
Solution
-
Liste des colonnes
- Reformulation de données de l’exercice
- La liste des colonnes est déduite à partir de l’énoncé et ce en mettant en valeur les propriétés.
- Soit à représenter l’activité d’une bibliothèque disposant d’un ensemble de livres qu’elle met à la disposition de ses abonnés. Chaque livre existe en un seul exemplaire.
- Chaque livre de la bibliothèque est décrit à l’aide d’un code unique, un titre, un auteur, un éditeur et une date de parution.
- L’enregistrement d’un nouvel abonné consiste à renseigner son numéro qui servira comme identifiant, son nom et prénom, son adresse et son numéro de téléphone.
- Chaque abonné peut emprunter plusieurs livres. A chaque emprunt on enregistre le code du livre, le numéro de l’abonné et la date d’emprunt. Au retour du livre on enregistre la date de retour.
- Ces propriétés seront regroupées dans le tableau qui suit.
- Dans la première colonne, il est recommandé d’utiliser les mêmes règles de nommage qu’en programmation (éviter les caractères accentués, réduire la taille des noms des colonnes, etc.).
- (1) Les valeurs de la colonne Code_liv_emp doivent exister dans la colonne Code_livre : un livre emprunté doit exister dans la bibliothèque.
- (2) Les valeurs de la colonne Num_ab_emp doivent exister dans la colonne Numero_abonne : une personne ne peut emprunter un livre que lorsqu’il est déjà abonné.
- (3) La valeur par défaut de la date d’emprunt est la date système.
- (4) La date de retour du livre doit être supérieure ou égale à la date d’emprunt.
-
Liste des tables
- La liste des tables est déduite à partir de la liste des colonnes. A chaque sujet correspond une table. Aux trois sujets «Livre», « Abonne » et « Emprunt » vont correspondre trois tables.
- Pour les tables, on appliquera les mêmes règles de nommage que celles adoptées pour les colonnes.
-
Affectation des colonnes et clés primaires aux tables
- Il s’agit ici d’affecter chacune des colonnes du premier tableau aux trois tables du deuxième tableau en faisant un rapprochement basé sur la colonne « sujet ».
- Nous utilisons la représentation textuelle pour décrire la structure des tables.
-
Liens entre les tables
- D’après l’énoncé, un emprunt est relatif à un livre et un abonné. Ainsi, on déduit les deux liens suivants :
- Un lien entre la table Emprunt et la table Livre
- Un lien entre la table Emprunt et la table Abonne
- Nous utilisons le tableau suivant pour décrire ces liens :
- Précisons que la clé primaire figure dans la table mère et la clé étrangère dans la table fille.
- En tenant compte de ces liens entre les tables, la description textuelle des tables devient alors :
-
Représentation graphique de la structure de la base de données
-
Vous pouvez visualiser l’énoncé de l’exercice
Nom colonne | Description | Type de données |
Taille | Obligatoire | Valeur par défaut |
Valeurs autorisées |
Sujet |
---|---|---|---|---|---|---|---|
Code_livre | Code unique du livre | Caractère | 10 | O | Livres | ||
Titre | Titre du livre | Caractère | 50 | O | Livres | ||
Auteur | Noms des auteurs | Caractère | 50 | N | Livres | ||
Editeur | Nom de la maison d’édition | Caractère | 30 | N | Livres | ||
Date_parution | Date de sortie du livre | Date | N | Livres | |||
Num_abonne | Numéro de l’abonné | Numérique | 5 | O | Abonnés | ||
Nom_abonne | Nom de famille de l’abonné | Caractère | 20 | O | Abonnés | ||
Prenom_abonne | Prénom de l’abonné | Caractère | 20 | O | Abonnés | ||
Adresse | Adresse de l’abonné | Caractère | 50 | Abonnés | |||
Tel | N° de téléphone de l’abonné | Caractère | 20 | Abonnés | |||
Code_liv_emp | Code du livre emprunté | Caractère | 10 | O | (1) | Emprunts | |
Num_ab_emp | Numéro de l’abonné empruntant un livre | Numérique | 5 | O | (2) | Emprunts | |
Date_emprunt | Date de l’emprunt du livre | Date | O | (3) | Emprunts | ||
Date_retour | Date de retour du livre | Date | (4) | Emprunts |
Nom table | Description | Sujet |
---|---|---|
Livre | Regroupe l’ensemble des livres de la bibliothèque | Livres |
Abonne | Regroupe les personnes abonnées à la bibliothèque | Abonnés |
Emprunt | Stocke l’historique des emprunts de livres | Emprunts |
Livre(Code_livre, Titre, Auteur, Editeur, Date_parution)
Abonne(Num_abonne, Nom_abonne, Prenom_abonne, Adresse, Tel)
Emprunt(Code_liv_emp, Num_ab_emp, Date_emprunt, Date_retour)
Table mère | Table fille | Clé primaire | Clé étrangère |
---|---|---|---|
Livre | Emprunt | Code_livre | Code_liv_emp |
Abonne | Emprunt | Num_abonne | Num_ab_emp |
Livre(Code_livre, Titre, Auteur, Editeur, Date_parution)
Abonne(Num_abonne, Nom_abonne, Prenom_abonne, Adresse, Tel)
Emprunt(Code_liv_emp#, Num_ab_emp#, Date_emprunt, Date_retour)
Source:Livre 4Info REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION