Mysql
 sql >> Base de données >  >> RDS >> Mysql

Est-ce que plusieurs clés étrangères ont un sens ?

C'est bien, mais notez que cela n'a de sens que si un C doit toujours avoir à la fois un A et un B par paire.

Si vous voulez juste que les A aient des C et que les B aient des C, mais que A et B ne sont pas liés par ailleurs, vous devez mettre la clé étrangère dans A et dans B et lui permettre d'être nullable.

Mise à jour :après clarification, il semble que vous souhaitiez deux relations distinctes :un A peut avoir plusieurs C et un B peut avoir plusieurs C, mais un C ne peut appartenir qu'à un A ou à un B.

Solution :Il s'agit de deux relations un-à-plusieurs distinctes. Créez donc deux nouvelles tables A_C et B_C et placez-y les clés étrangères. A_C contient une clé étrangère vers A et une clé étrangère vers C. De même pour B_C.