¿Cómo definir una foreign key?

| Última modificación: 19 de abril de 2024 | Tiempo de Lectura: 2 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Para agrupar una serie de tablas en una base de datos tienes que saber cómo definir una foreign key. Por lo tanto, ya que queremos que este concepto clave te quede claro, en este artículo te contaremos cómo hacerlo. ¡Sigue leyendo!

¿Cómo definir una foreign key?

En esta oportunidad vamos a repasar el concepto de foreign key, así como los pasos para definir una o varias en una base de datos.

En qué consiste la foreign key

Antes de pasar al proceso para que aprendas cómo definir una foreign key, nos parece importante que conozcas en qué consiste y por qué es tan importante. En SQL, la foreign key o clave de columna funciona como elemento que se encargará de relacionar dos tablas. La foreign key trabajará enlazada con la primary key de otra tabla de una misma base de datos relacional. La tabla principal de las bases de datos será el lugar donde se almacenará la primary key, por lo que la tabla secundaria obtendrá el control sobre la foreign key.

A su vez, esta clave se asegura de que ningún valor que no pertenezca a la tabla se relacionen, pues todos los valores deben estar establecidos en la tabla con la que nos queremos relacionar. Dentro de las prácticas de SQL, la foreign key se puede entender por sus silabas: fk.

Cómo definir una foreign key

Para saber cómo definir una foreign key, está claro que debes estar situado dentro de una máquina virtual que, a su vez, tenga una base de datos creada que pueda ser modificada. Podrás utilizar los comandos de SQL para entrar a tu base de datos que, en este caso, la extraemos de un ejercicio práctico de nuestro bootcamp de Big Data.

Para agregar una clave, tendrás que utilizar el comando ALTER TABLE y añadirle la foreign key, como te presentamos a continuación. Recuerda que la sentencia debe estar referenciada con la tabla que vas a relacionar.

USE SPRIGNFIELD

ALTER TABLE PERSONAJES

ADD FOREIGN KEY fk_mat_pers (ID_MATRIMONIO)

REFERENCES MATRIMONIOS (ID_MATRIMONIO);

Error en la foreign key

Puede que, una vez ejecutado el proceso de cómo definir una foreing key, la máquina virtual donde te encuentres te dé un error. Comúnmente esto sucede cuando no hay una consistencia en el tipo y número de datos de las tablas que has creado. Por lo tanto, para corregir y hacer funcionar el proceso de creación de una foreign key, tendrás que modificar los valores de los datos.

Imagínate que es el caso de los matrimonios que no corresponden con el tipo de dato de los personajes, por lo que tendrás que implementar la siguiente sentencia para solucionar el problema, asumiendo que necesitas un entero 11.

ALTER TABLE MATRIMONIOS MODIFY INT (11) UNSIGNED:

COMMIT;

Después, tendrás que reintentar ejecutar la sentencia para la creación de la foreign key.

¿Qué puedes hacer ahora?

Si has llegado hasta aquí la respuesta a la duda de cómo definir una foreign key ahora está mucho más clara. Te sentirás mucho más cerca de la posibilidad de crear una base de datos con todas las tablas pobladas y con las claves y otros requerimientos necesarios. Sin embargo, aún tienes mucho que aprender en este ámbito del sector IT, por lo que invitamos a echarle un vistazo a nuestra formación intensiva Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp. ¡Pide información y empieza a impulsar tu vida!

Sandra Navarro

Business Intelligence & Big Data Advisor & Coordinadora del Bootcamp en Data Science, Big Data & Machine Learning.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado