Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Várias chaves estrangeiras fazem sentido?


Isso é bom, mas observe que só faz sentido se um C sempre tiver que ter um A e um B como um par.

Se você só quer que A's tenham C's e B's tenham C's, mas A e B não estão relacionados, então você deve colocar a chave estrangeira em A e em B e permitir que ela seja anulável.

Atualização:após o esclarecimento, parece que você quer dois relacionamentos separados:um A pode ter muitos Cs e um B pode ter muitos Cs, mas um C só pode pertencer a um A ou a um B.

Solução:São dois relacionamentos um-para-muitos separados, então crie duas novas tabelas A_C e B_C e coloque as chaves estrangeiras lá. A_C contém uma chave estrangeira para A e uma chave estrangeira para C. Da mesma forma para B_C.