sql >> Base de Datos >  >> RDS >> Mysql

Misma clave foránea en varias tablas

No es necesario nombrarlos cosas diferentes. Puede tener una columna FAM_ID en FAMILIA, una columna FAM_ID en DOCUMENTOS y una columna FAM_ID en CONTACTO.

En este caso nombrarlos lo mismo deja claro que se refieren a lo mismo. Pero, si lo desea, también podría idear otra convención de nomenclatura propia.

Por ejemplo, uso algo similar a family_ID en la tabla de familia, y contact_familyID , document_familyID al referirse a él desde las tablas de contactos y documentos.

El único inconveniente de nombrarlos de la misma manera, por lo que puedo ver, es que al hacer uniones no puede simplemente referirse a ellos por el nombre de la columna, debe ponerles un alias o referirse a ellos por nombre de tabla.nombre de columna.

Editar:Creo que he encontrado lo que quieres decir con no poder tener el mismo nombre. Este es el caso cuando agrega una relación de clave externa dentro de una sola tabla, como se describe aquí:http://bugs.mysql.com/bug.php?id=46363