Вам не нужно называть их разными вещами.Вы можете иметь столбец FAM_ID в FAMILY, столбец FAM_ID в DOCUMENTS и столбец FAM_ID в CONTACT.
В этом случае присвоение им одинаковых имен дает понять, что они ссылаются на одно и то же.Но вы также можете придумать другое собственное соглашение об именах, если хотите.
Например, я использую что-то вроде family_ID
в таблице семейства и contact_familyID
, document_familyID
при обращении к нему из таблиц контактов и документов.
Единственный недостаток в том, чтобы называть их одинаковыми, насколько я вижу, состоит в том, что при выполнении объединений нельзя просто ссылаться на них по имени столбца,Вы должны присвоить им псевдоним или обратиться к ним по имени tablename.columnname.
Редактировать: Я думаю, что я понял, что вы имеете в виду, не имея возможности иметь то же имя.Это тот случай, когда вы добавляете отношение внешнего ключа в одну таблицу, как описано здесь: http://bugs.mysql.com/bug.php?id=46363