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