Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Mesma chave estrangeira em várias tabelas


Você não precisa nomeá-los coisas diferentes. Você pode ter uma coluna FAM_ID em FAMILY, uma coluna FAM_ID em DOCUMENTS e uma coluna FAM_ID em CONTACT.

Neste caso, nomeá-los como a mesma coisa deixa claro que eles se referem à mesma coisa. Mas você também pode criar outra convenção de nomenclatura própria, se quiser.

Por exemplo, eu uso algo como family_ID na tabela de família e contact_familyID , document_familyID ao se referir a ele nas tabelas de contatos e documentos.

A única desvantagem de nomeá-los da mesma forma, até onde posso ver, é que ao fazer junções você não pode apenas se referir a eles pelo nome da coluna, você precisa alias ou se referir a eles por tablename.columnname.

Edit:Acho que descobri o que você quer dizer com não poder ter o mesmo nome. Este é o caso quando você adiciona um relacionamento de chave estrangeira em uma única tabela, conforme descrito aqui:http://bugs.mysql.com/bug.php?id=46363