Skip to main content

¿Qué es una clave externa?

Las bases de datos se componen de tablas en las que se almacenan datos o información. Una clave externa es un mecanismo en una base de datos relacional que permite la asociación de esas tablas o que las tablas tengan una relación entre sí. Hay características únicas que debe tener una clave externa. Debe ser una columna o un grupo de columnas en una tabla cuyos valores establecen una relación con los valores de otra tabla dentro de la misma base de datos.

Una clave externa garantiza que las filas en una tabla corresponden a filas en alguna otra tabla, estableciendo así relaciones o referencias en toda la base de datos. La tabla que contiene la clave externa es el "hijo", y la otra tabla es el "padre". Es posible que el valor de una clave externa sea nulo o vacío y que realmente haga referencia o se relacione con lo que se conoce como la clave primaria 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 primaria antes de intentar comprender completamente el concepto detrás de las claves externas. Por ejemplo, si hay dos tablas en una base de datos que almacenan información sobre libros publicados para un sitio web que vende libros, una tabla podría ser la tabla de editores y la otra la tabla de libros. La tabla de editores podría constar de dos columnas, una clave principal que siempre es única para cada registro y una columna de nombre de editor. Un mínimo de tres columnas conformarían la tabla de libros, manteniendo la clave primaria 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 foránea.

La clave principal para la tabla de 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 contuviera una columna pub_id con los mismos valores. Esta sería la clave externa que relacionaría esta tabla secundaria con su matriz: la tabla de editores.

Sin embargo, una clave externa puede tener un nombre de columna diferente que la clave principal a la que hace referencia. La comprensión sólida del funcionamiento de las claves primarias y externas es esencial para mantener la integridad referencial. Las bases de datos muy grandes que están compuestas por 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 foráneas.