Correction TP la structure d’une BD Ex01

Correction TP la structure d’une BD Ex01

  1. 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.





  2. Exercice:01

    1. Énoncé
    2. Solution
      1. 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.).
          Liste des colonnes
          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
        • (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.
      2. 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.
        • Liste des tables
          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
      3. 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.
        • 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)

      4. 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 :
        • Table mère Table fille Clé primaire Clé étrangère
          Livre Emprunt Code_livre Code_liv_emp
          Abonne Emprunt Num_abonne Num_ab_emp
        • 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 :
        • 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)

      5. Représentation graphique de la structure de la base de données
        • Correction TP la structure d'une BD Ex01

        Source:Livre 4Info REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION




Abonnez vous à notre chaîne YouTube gratuitement