Page 31 - DCG - Les processus - 2025
P. 31

  Héritage : structurer plusieurs relations ayant des caractéristiques communes
        L’héritage  est  utilisé  lorsqu’un  groupe  d’entités  partage  des  attributs  communs,  tout  en  ayant  des
        spécificités  propres.  Lorsqu’on  souhaite  représenter  une  spécialisation  (héritage)  dans  une  base
        relationnelle, la solution la plus rigoureuse consiste à :
            •  Créer une table pour l’entité mère, avec les attributs communs.
            •  Créer une table par entité fille, contenant uniquement les attributs spécifiques.
            •  Relier chaque table fille à la table mère par une clé étrangère (CodeX), qui est aussi clé primaire de
               la table fille.

            •
        Exemple : une clinique vétérinaire suit tous les animaux qu’elle prend en charge. Chaque animal a un code,
        un nom et une date de naissance. La clinique distingue ensuite deux types d’animaux :
            •  les chiens, pour lesquels elle note la race et le poids,
            •  les chats, pour lesquels elle note le type de pelage et la taille. Seuls les chats reçoivent des vaccins
               spécifiques contre certaines maladies félines. Chaque vaccin est identifié par un numéro, et associé
               à un chat (via son code animal), avec le nom du vaccin et la date d’injection.
        Le schéma relationnel est alors :
               ANIMAL (CodeAnimal, NomAnimal, DateNaissanceAnimal)
               CHIEN (#CodeAnimalChien, Race, Poids)
               CHAT (#CodeAnimalChat, Pelage, Taille)
               VACCIN (CodeVac, NomVac, DateVac, #CodeAnimalChat)
        Clés :
            •  CodeAnimal est la clé primaire de ANIMAL.
            •  Dans CHIEN et CHAT, #CodeAnimal est à la fois clé primaire et clé étrangère vers ANIMAL. Afin de
               faire la distinction et de préciser la clé, il est courant de suffixer le nom de la clé par le nom de la
               table : CodeAnimalChien, CodeAnimalChat

        Graphiquement, on utilise la représentation classique avec des flèches :

                                        ANIMAL
                                  CodeAnimal
                                  NomAnimal
                                  DateNaissanceAnimal






                                                                                                    VACCIN
               CHIEN                                            CHAT                            CodeVac
          CodeAnimalChien                                   CodeAnimalChat                      NomVac
          Race                                              Pelage                              DateVac
          Poids                                             Taille                              CodeAnimalChat














                                                            26
   26   27   28   29   30   31   32   33   34   35   36