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

¿Puedo usar la misma restricción de clave externa en dos tablas diferentes?

Hay columnas y hay claves foráneas (FK) y hay restricciones.

Puede tener un nombre de columna en una tabla independientemente de otras tablas.

Un FK es un conjunto de tablas y columnas de referencia y un conjunto de tablas y columnas referenciado. Todos los nombres juntos identifican un FK. Es algo conceptual sobre una base de datos.

Una restricción FK, al ser una restricción, es algo cuyo nombre debe ser único en la base de datos. Tiene y aplica un FK asociado, a saber, el descrito en su declaración. Puede tener varias restricciones de FK en una tabla que apliquen el mismo FK.

El DBMS tiene nombres únicos automáticos para las restricciones FK. Por ejemplo, una parte de nombre más una parte de número donde la restricción es la restricción número FK de la tabla con ese nombre. En realidad, puede tener el mismo texto de definición de restricción FK sin nombre varias veces en una tabla y en varias tablas, cada una para una restricción FK diferente. (Los que están dentro de una tabla determinada imponen el mismo FK).

Debe tener un esquema de nombres único para cuando quiera nombrarlos. Deben incluirse referencias y nombres de tablas referenciadas y, cuando sea necesario, distinguir nombres de columnas.

De manera confusa, decimos FK cuando nos referimos a la restricción FK.

Cuando dices "Es la misma clave foránea en dos tablas diferentes", hace un mal uso de los términos. Hay dos FK diferentes involucrados y las restricciones de FK correspondientes. Quiere decir que tal vez "son las mismas columnas de referencia y la tabla y las columnas referenciadas en ambas restricciones FK" o "es el mismo texto que hace referencia en las declaraciones de restricción FK de ambas tablas". Pero los nombres de las restricciones FK deben ser únicos.

Cuando dice "En ambos casos se refiere a un usuario interno", está confirmando que el tipo o la tabla de la columna a la que se hace referencia son los mismos para ambas restricciones de FK. Pero son restricciones de FK diferentes para diferentes FK.