¿Qué es una clave extranjera?
Las bases de datos están compuestas de tablas en las que se almacenan datos, o información. Una clave extranjera es un mecanismo en una base de datos relacional que permite la asociación de esas tablas, o para que las tablas tengan una relación entre sí. Hay características únicas que debe tener una clave extranjera. Debe ser una columna o un grupo de columnas en una tabla cuyos valores establecen una relación con los valores en otra tabla dentro de la misma base de datos.
Una clave extranjera garantiza que las filas en una tabla corresponden a las filas en alguna otra tabla, estableciendo así relaciones o referencias en toda la base de datos. La tabla que contiene la clave extranjera es el "niño", y la otra tabla es el "padre". Es posible que el valor de una clave extranjera sea nula o vacía y que realmente haga referencia o se relacione con lo que se conoce como la clave principal de la tabla en la que se encuentra. Esto se conoce como autorreferencia.
Uno debe tener una buena comprensión de lo que es una clave principal antes de intentar comprender completamente el concepto detrás de las claves extranjeras. Por ejemplo, si hay dos tablas en una base de datos que almacena información sobre libros publicados para un sitio web que vende libros, una mesa podría ser la mesa de los editores y la otra mesa de los libros. La tabla de los editores podría consistir en dos columnas, una clave principal que siempre es única para cada registro y una columna de nombre del editor. Un mínimo de tres columnas formaría la tabla de libros, manteniendo la clave principal o el identificador único para cada libro, los títulos de los libros y una columna a través de la cual se establecería una relación con la tabla de editores. Esa columna sería la clave extranjera.
La clave principal para la tabla de los editores podría ser algo así como "PUB_ID" con valores de: P01, P02, P03, etc. Se establecería una relación con la tabla de libros si contenía una columna PUB_ID con los mismos valores. Esta sería la clave extranjera queLD relata esta mesa de niños con su padre: la tabla de editores.
Una clave extranjera puede, sin embargo, tener un nombre de columna diferente al de la clave principal a la que hace referencia. La comprensión sólida del funcionamiento de las claves primarias y extranjeras es esencial para mantener la integridad referencial. Bases de datos muy grandes que están compuestas de muchas tablas o que involucran una tabla de unión presentan más de un tipo de relación, lo que puede complicar la tarea de trabajar con claves extranjeras.