¿Qué es una clave externa en SQL?

Rodrigo Ricardo Publicado el 14 noviembre, 2020 3 minutos y 31 segundos de lectura

¿Qué es una clave externa?

Si ha estado utilizando SQL o cualquier sistema de base de datos durante mucho tiempo, sabe que una de las mayores ventajas de una base de datos es que, a diferencia de una hoja de cálculo, puede extraer datos de una variedad de tablas diferentes con bastante facilidad. Sin embargo, para hacer esto, debe tener una manera fácil de saber de qué tablas extraer datos. En resumen, necesita una llave. Una clave externa es un campo que identifica directamente a otra tabla. Como puede imaginar, esto hace que el uso de claves externas sea una habilidad muy útil y uno de los aspectos de SQL que ayuda a diferenciarlo de otros programas.

Claves primarias y externas

Antes de continuar, asegurémonos de comprender la diferencia entre una clave principal y una clave externa. Una clave primaria proporciona un punto de referencia absoluto a un registro en una fila. Por ejemplo, los números de identificación de los empleados suelen ser claves primarias. Mientras tanto, una clave externa permite que se establezcan enlaces entre diferentes tablas. Una clave principal puede ser el número de identificación en una tabla principal de empleados, pero un nombre o un número de identificación sería una clave externa en las tablas siguientes que describen otros aspectos del empleado.

Vinculación de tablas

Eso puede sonar un poco confuso, así que tomemos un minuto para analizarlo. Como dije anteriormente, las claves externas son excelentes para realizar un seguimiento de la información en las tablas subordinadas que se vinculan a una tabla principal. A veces, verá que se denominan tablas secundarias y principales, respectivamente.

La Figura 1 muestra un ejemplo de cómo se pueden vincular las tablas. La imagen es de Microsoft Access y muestra la clave principal (artistID) para la tabla tblArtist es una clave externa en la tabla tblAlbum:

Figura 1: Ejemplo de clave externa
Ejemplo de clave externa SQL

Ejemplo de una clave externa

Aquí hay un ejemplo de una clave externa puesta en funcionamiento. ¡Digamos que su hijo acaba de celebrar una fiesta de cumpleaños y recibió tantos regalos que tiene que usar una base de datos para realizar un seguimiento de todos! Si desea inculcar buenos modales, debe alentar a su hijo a escribir notas de agradecimiento. Sin embargo, algunas notas de agradecimiento deben enviarse por correo, mientras que algunas pueden entregarse personalmente y otras aún pueden enviarse por correo electrónico. Para complicar aún más las cosas, algunas personas enviaron más de un obsequio, por lo que deberá controlar que cada donante reciba una carta y no una por cada obsequio. Ahora podría poner toda esta información en una mesa gigante, pero esa mesa sería lenta. En su lugar, usaremos una tabla principal y varias tablas secundarias, usando claves externas en el camino.

Usted ingresa información relevante sobre cada regalo en una tabla principal y luego crea tablas secundarias para cada una de las formas en que se comunicará la nota de agradecimiento. Cada una de estas tablas para niños enumera los obsequios que se deben agradecer, pero utiliza el número de identificación de cada obsequio para vincularlo a la información relevante en la tabla principal. En este caso, debido a que el número de identificación vincula las dos tablas, es una clave externa.

Resumen de la lección

Recuerde que una clave externa actúa como un registro que se vincula a otra tabla o registro. A menudo, son la clave principal para una tabla más grande, pero a diferencia de las claves primarias, no tienen que ser únicas ni se utilizan siempre para la organización. La mayoría de las veces, simplemente se utilizan para ayudar a dividir tablas más grandes en tablas más pequeñas para que la organización de datos sea más sencilla.

Los resultados del aprendizaje

Lea la lección y tome notas, si es necesario, hasta que se sienta listo para:

  • Defina una clave externa e ilustre con un ejemplo
  • Contraste las claves externas con las claves primarias
  • Describir los usos de claves externas en bases de datos.

Explora más sobre este tema

Selecciona un tema y sigue aprendiendo...

Rodrigo Ricardo
Rodrigo Ricardo Editor y fundador