それらに別の名前を付ける必要はありません。 FAMILYにFAM_ID列、DOCUMENTSにFAM_ID列、CONTACTにFAM_ID列を含めることができます。
この場合、それらに同じ名前を付けると、それらが同じものを参照していることが明確になります。ただし、必要に応じて、独自の別の命名規則を考案することもできます。
たとえば、family_ID
の行に沿って何かを使用します ファミリテーブルで、contact_familyID
、document_familyID
連絡先とドキュメントの表から参照する場合。
私が見る限り、それらに同じ名前を付けることの唯一の欠点は、結合を行うときに、列名だけで参照することはできず、エイリアスを作成するか、tablename.columnnameで参照する必要があることです。
>編集:同じ名前を付けることができないという意味を見つけたと思います。これは、ここで説明するように、単一のテーブル内に外部キー関係を追加する場合です。 http://bugs.mysql.com/bug.php?id=46363