Comment transformer une association de degré 1:1 ou 1:n ?

Principe général

Toute association binaire de degré 1:1 ou 1:n devient une contrainte de clé étrangère.

Association de degré 1:1

Cardinalités minimales de 0 et 0

Si les deux cardinalités minimales valent 0, les deux entités ont un poids identique et le choix de l'entité source de la contrainte de clé étrangère est totalement libre.

Cardinalités minimales de 0 et 1

Si une des cardinalités minimales vaut 1 et l'autre 0, il y a lieu de tenir compte de la dépendance forte engendrée par la cardinalité minimale de 1.

L'entité dont chaque occurrence doit obligatoirement participer à une association devient enfant ou source de la contrainte de clé étrangère.

En mettant la contrainte de clé étrangère dans la table provenant de l'entité dotée de la dépendance forte (cardinalité 1..1), nous simplifions les transactions et la gestion des droits. En effet, et pour notre exemple ci-dessus :

  • La création d'une commande se fait sans établir de relation avec une confirmation.
  • La création d'une confirmation se fait en référençant obligatoirement une commande (colonne de clé étrangère obligatoire Cde_validee_num). Ainsi, dans la même opération, on crée une confirmation et on établit la référence sur la commande. Si la clé étrangère se trouvait dans la table Commandes, il faudrait mettre à jour la commande à chaque confirmation ; ceci compliquerait la transaction (il faudrait deux opérations au lieu d'une seule) et de plus, il n'est pas sûr que l'opérateur qui crée des confirmations ait le droit ou le privilège de mettre à jour des commandes.