Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Ten sam klucz obcy w wielu tabelach

Nie musisz nazywać ich różnymi rzeczami. Możesz mieć kolumnę FAM_ID w FAMILY, kolumnę FAM_ID w DOCUMENTS i kolumnę FAM_ID w CONTACT.

W tym przypadku nazwanie ich tą samą rzeczą jasno pokazuje, że odnoszą się do tej samej rzeczy. Ale możesz też wymyślić inną własną konwencję nazewnictwa, jeśli chcesz.

Na przykład używam czegoś w stylu family_ID w tabeli rodziny i contact_familyID , document_familyID odwołując się do niego z tabel kontaktów i dokumentów.

Jedyną wadą nazywania ich w ten sam sposób, o ile wiem, jest to, że podczas łączenia nie można po prostu odnosić się do nich za pomocą nazwy kolumny, trzeba je aliasować lub odwoływać się do nich za pomocą nazwy_tabeli.nazwa_kolumny.

Edytuj:Myślę, że odkryłem, co masz na myśli, nie mogąc mieć tego samego imienia. Dzieje się tak, gdy dodajesz relację klucza obcego w jednej tabeli, jak opisano tutaj:http://bugs.mysql.com/bug.php?id=46363



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DAO.Recordset.Update powoduje blokadę zapisu

  2. Utwórz domenę w MySQL

  3. Wybór na podstawie ścieżki w mysql

  4. Wybierz N losowych rekordów na grupę

  5. Ograniczyć wykonywanie PHP?