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