Mysql
 sql >> Database >  >> RDS >> Mysql

Più chiavi esterne hanno senso?

Questo va bene, ma nota che ha senso solo se un C deve sempre avere sia un A che un B come coppia.

Se vuoi solo che A abbia C e B che abbia C, ma A e B non sono altrimenti correlati, dovresti inserire la chiave esterna in A e in B e consentire che sia annullabile.

Aggiornamento:dopo il chiarimento, sembra che tu voglia due relazioni separate:una A può avere molte C e una B può avere molte C, ma una C può appartenere solo a una A oa una B.

Soluzione:sono due relazioni uno-a-molti separate, quindi crea due nuove tabelle A_C e B_C e inserisci lì le chiavi esterne. A_C contiene una chiave esterna in A e una chiave esterna in C. Analogamente per B_C.