Généralisation / spécialisation
La généralisation place dans une entité mère les attributs communs à plusieurs sous-types, qui ajoutent les leurs. Elle sert quand des objets partagent une identité mais diffèrent en partie.
- héritage
- ISA
- sous-type
- partition
- exclusion
- totalité
Syntaxe
ENTITE_MERE (attributs communs) │ contrainte : X, T ou XT ╱ ╲ SOUS_TYPE_1 SOUS_TYPE_2 (attributs propres) (attributs propres)Exemple
PERSONNE (num_personne, nom, prenom, email) │ XT (partition) ╱ ╲ SALARIE PRESTATAIRE salaire taux_journalier date_embauche societePartition : toute personne est soit salariée, soitprestataire, jamais les deux et jamais aucun des deux.Les sous-types héritent de l'identifiant num_personne.À retenir
- Les liens de spécialisation ne portent pas de cardinalités mais une contrainte : X (exclusion) au plus un sous-type, T (totalité) au moins un, XT (partition) exactement un.
- Sans contrainte notée, une occurrence peut appartenir à plusieurs sous-types ou à aucun.
- Les sous-types n'ont pas d'identifiant propre, ils héritent de celui de la mère ; ils peuvent en revanche participer à leurs propres associations (seul un SALARIE est affecté à un service).
- Au MLD, trois traductions existent : table unique avec colonne de type, table mère et tables filles, tables filles seules (fiche MLD « Généralisation → MLD »).
- Piège : spécialiser pour un seul attribut ou par habitude de la programmation objet. Si les sous-types n'ont ni attribut ni association propres, un attribut type_personne suffit.
Voir aussi
- EntitéUne entité regroupe les objets métier de même nature que le système doit mémoriser, comme CLIENT ou PRODUIT. On en crée une dès qu'un nom du besoin porte ses propres informations.
- IdentifiantL'identifiant est l'attribut, souligné dans le diagramme, dont la valeur distingue chaque occurrence d'une entité. Il deviendra la clé primaire au MLD : choisissez-le stable et unique.
- CIF et contraintes inter-associations (avancé)Notion avancée : une CIF signale qu'une entité en détermine une autre, et les contraintes inter-associations (inclusion, exclusion) expriment les règles que les cardinalités seules ne disent pas.