Classe d'association avec clé locale
Rappel :
Contrainte inhérente à la relation N:M
Dans l'exemple suivant, chaque personne peut avoir un emploi dans plusieurs sociétés, mais elle ne peut pas avoir plusieurs emplois dans une même société.

Emplois
La transformation en relationnelle est cohérente avec cette contrainte.
CTRL+C pour copier, CTRL+V pour coller
1
Société(...)
2
Personne(...)
3
Emploi(#personne=>Personne, #societe=>Societe, poste:string, salaire:integer, quotite:numeric(1,2))
Société(...) Personne(...) Emploi(#personne=>Personne, #societe=>Societe, poste:string, salaire:integer, quotite:numeric(1,2))

Méthode : Intérêt de la clé locale
La spécification d'une clé locale dans emploi, par exemple ici le poste, permet de lever cette contrainte, lorsqu'on le souhaite, en permettant d'identifier chaque instance de l'association, ici l'emploi d'une personne par sa société.

La transformation en relationnelle permettra de maintenir la modélisation, en ajoutant la clé locale à la clé initiale
CTRL+C pour copier, CTRL+V pour coller
1
Société(...)
2
Personne(...)
3
Emploi(#personne=>Personne, #societe=>Societe, #poste:string, salaire:integer, quotite:numeric(7,2))
Société(...) Personne(...) Emploi(#personne=>Personne, #societe=>Societe, #poste:string, salaire:integer, quotite:numeric(7,2))
