Bonjour,
Je modélise des tables et j'ai besoin d'aide pour ajouter des contraintes entre elles. Voici en gros à quoi ca ressemble:
- une table CONTRAT avec une clé primaire sur 2 colonnes (contrat_ID, revision)
- une table AVENANT avec une clé primaire (avenant_ID) et la clé étrangère correspondant à la clé primaire de CONTRAT (càd (contrat_ID, revision) )
- une 3eme table LIAISON_ETABLISSEMENT, et c'est là mon problème: je voudrais placer une colonne "contrat_ID" avec une contrainte vérifiant l'existence du contrat mais sans tenir compte de la revision.
Si je mets une clé étrangère, je dois prendre les 2 colonnes (contrat_ID, revision) mais la colonne revision ne m'interesse pas: la liaison n'est pas propre à une revision donnée d'un contrat.
Je reprend visuellement:
CONTRAT {
PK contrat_ID
PK revision
}
AVENANT {
PK avenant_ID
FK contrat_ID
FK revision
}
LIAISON_ETABLISSEMENT {
PK liaison_ID
FK contrat_ID ==> impossible de faire une foreign key "partielle", sans la colonne revision
}
Précisions: je suis sous SQL Server 2008 R2
Merci d'avance si vous avez une idée
Partager