Du behöver inte namnge dem olika saker. Du kan ha en FAM_ID-kolumn i FAMILY, en FAM_ID-kolumn i DOCUMENTS och en FAM_ID-kolumn i CONTACT.
Att i det här fallet namnge dem samma sak gör det tydligt att de syftar på samma sak. Men du kan också komma på en annan namnkonvention om du vill.
Till exempel använder jag något i stil med family_ID
i familjetabellen och contact_familyID
, document_familyID
när man hänvisar till det från kontakt- och dokumenttabellerna.
Den enda nackdelen med att namnge dem likadant, så vitt jag kan se, är att när du gör joins kan du inte bara referera till dem med kolumnnamn, du måste alias dem eller referera till dem med tabellnamn.kolumnnamn.
Redigering:Jag tror att jag har hittat vad du menar med att inte kunna ha samma namn. Detta är fallet när du lägger till en främmande nyckelrelation i en enda tabell, som beskrivs här:http://bugs.mysql.com/bug.php?id=46363