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

Stejný cizí klíč ve více tabulkách

Není třeba je různě pojmenovávat. Můžete mít sloupec FAM_ID v FAMILY, FAM_ID v DOCUMENTS a FAM_ID v CONTACT.

V tomto případě, když je pojmenujete stejně, je jasné, že odkazují na stejnou věc. Ale můžete také přijít s jinou vlastní konvencí pojmenování, pokud chcete.

Například používám něco ve smyslu family_ID v rodinné tabulce a contact_familyID , document_familyID když na něj odkazujete z tabulek kontaktů a dokumentů.

Jedinou nevýhodou jejich pojmenování stejně, pokud vidím, je to, že když provádíte spojení, nemůžete na ně odkazovat pouze názvem sloupce, musíte je pojmenovat nebo se na ně odkazovat podle názvu tabulky.název sloupce.

Edit:Myslím, že jsem našel, co myslíš tím, že nemůžu mít stejné jméno. To je případ, kdy přidáte vztah cizího klíče do jedné tabulky, jak je popsáno zde:http://bugs.mysql.com/bug.php?id=46363



  1. Jak implementovat vztah many-to-many v PostgreSQL?

  2. php server ERR_CONNECTION_REFUSED

  3. MySQL:Proč specifikovat šířku zobrazení bez použití zerofill

  4. Top-N dotazy a stránkování v Oracle