sql >> Databáze >  >> RDS >> Mysql

Má smysl více cizích klíčů?

To je v pořádku, ale uvědomte si, že to dává smysl pouze tehdy, když C musí mít vždy A i B jako pár.

Pokud pouze chcete, aby A měly C a B měly C, ale A a B spolu nesouvisejí, měli byste cizí klíč vložit do A a B a povolit, aby bylo možné nastavit hodnotu null.

Aktualizace:po upřesnění se zdá, že chcete dva samostatné vztahy:A může mít mnoho C a B může mít mnoho C, ale C může patřit pouze jednomu A nebo jednomu B.

Řešení:Jsou to dva samostatné vztahy one-to-many, takže vytvořte dvě nové tabulky A_C a B_C a vložte tam cizí klíče. A_C obsahuje cizí klíč k A a cizí klíč k C. Podobně pro B_C.



  1. php mysql seskupit podle data ve formátu yyyy-mm-dd

  2. Pokus o provedení operace MINUS v MySQL

  3. Předání uživatelem definovaného seznamu z režimu spánku do uložené procedury Oracle

  4. Jak Random() funguje v PostgreSQL