Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Sind mehrere Fremdschlüssel sinnvoll?

Das ist in Ordnung, aber beachten Sie, dass es nur Sinn macht, wenn ein C immer sowohl ein A als auch ein B als Paar haben muss.

Wenn Sie nur wollen, dass A's C's und B's C's haben, aber A und B ansonsten nichts miteinander zu tun haben, dann sollten Sie den Fremdschlüssel in A und in B einfügen und zulassen, dass er nullfähig ist.

Update:Nach der Klarstellung scheint es, dass Sie zwei separate Beziehungen wünschen:Ein A kann viele Cs haben, und ein B kann viele Cs haben, aber ein C kann nur zu einem A oder einem B gehören.

Lösung:Es handelt sich um zwei separate Eins-zu-Viele-Beziehungen. Erstellen Sie also zwei neue Tabellen A_C und B_C und legen Sie dort die Fremdschlüssel ab. A_C enthält einen Fremdschlüssel zu A und einen Fremdschlüssel zu C. Ähnlich für B_C.