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.
- CIF
- contrainte d'intégrité fonctionnelle
- inclusion
- exclusion
- avancé
Syntaxe
CIF : patte en (x,1) → l'entité de cette patte détermine l'autreContraintes entre associations (notées dans un cercle) : I inclusion : participer à A2 exige de participer à A1 X exclusion : participer à A1 interdit de participer à A2 T totalité : participer à au moins une des associations XT partition : participer à exactement uneExemple
CIF : COMMANDE (1,1) ── PASSER ── (0,n) CLIENT num_commande → num_client : connaître la commande, c'est connaître son client.Inclusion (I) : ETUDIANT ── PASSER_EXAMEN ── MATIERE ⊆ (I) ETUDIANT ── SUIVRE ── MATIERE On ne passe l'examen que d'une matière que l'on suit.Exclusion (X) : CONTRAT ── SOUSCRIRE_PART ── PARTICULIER CONTRAT ── SOUSCRIRE_PRO ── SOCIETE Un contrat est souscrit soit par un particulier, soit par une société, jamais par les deux.À retenir
- Toute association binaire qui a une patte en (x,1) est une CIF : c'est exactement ce que le MLD traduit par une clé étrangère.
- Une CIF posée sur une ternaire indique que deux pattes déterminent la troisième : c'est souvent le signe que la ternaire peut se décomposer.
- Les contraintes inter-associations ne passent pas automatiquement au MLD : il faut les programmer au MPD (CHECK, déclencheur) ou dans l'application.
- Piège : charger le MCD de contraintes décoratives. N'en notez une que si une règle de gestion l'exige et si quelqu'un l'implémentera réellement.
Voir aussi
- CardinalitésUne cardinalité (min,max) indique combien de fois une occurrence d'entité participe à une association. On la lit depuis l'entité, et elle traduit une règle de gestion précise.
- Association ternaireUne association ternaire relie exactement trois entités ; au-delà, on parle d'association n-aire. Elle se justifie seulement quand le fait n'a de sens qu'avec les trois entités à la fois.
- Généralisation / spécialisationLa 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.
- Règles de gestionLes règles de gestion sont les phrases du métier qui fixent ce que le modèle autorise : « une commande concerne un seul client ». Chaque cardinalité doit pouvoir être justifiée par l'une d'elles.