Llaves primarias y foráneas de las BBDD relacionales

Autor: | Última modificación: 17 de noviembre de 2023 | Tiempo de Lectura: 4 minutos
Temas en este post: ,

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Sabes que son claves foraneas en base de datos y qué son las claves primarias?

Es posible que ya conozcas qué son las bases de datos relacionales, así como cuáles son sus características y funcionalidad. Para ir un paso más allá, en este post te hablaremos de las llaves primarias y foráneas y cuál es su función dentro de las tablas de las bases de datos relacionales.

¿Qué son las llaves?

Las llaves son elementos dentro de una tabla que permiten identificar de manera única una entidad de un conjunto de entidades. En el caso de las bases de datos relacionales, las llaves primarias y foráneas permiten entrelazar las distintas tablas.

Uno de los elementos de este tipo de BBDD son las relaciones y la relación es el vínculo que existe entrell dos o más entidades. Ahora bien, las llaves son las que permiten que esas relaciones entre tablas sean posibles. Existen diferentes tipos de llaves en una base de datos.

hombre y rombos
llave compuesta

Llaves primarias y foráneas

Existen varios tipos de llaves, pero en este caso nos enfocaremos en explicarte cuáles son las dos llaves que te van a permitir realizar conexiones entre tablas de las bases de datos relacionales.

Llaves primarias

También llamadas claves primarias o primary key, en inglés. Son los atributos o columnas en una tabla que hacen única una entidad. Una tabla solo puede tener una llave primaria.

Las llaves primarias tienen unas reglas de integridad o constraints que deben seguirse, entre ellas:

  • La unicidad de la llave primaria, es decir, ninguna llave primaria debe admitir valores repetidos.
  • Integridad: ningún atributo de la llave primaria debe poseer valores nulos.

Asimismo, las llaves primarias poseen una característica denominada not null, la cual se asegura de que los campos de esta no queden vacíos nunca.

llaves primarias y foráneas
que es primary key

Así pues, en el ejemplo las llaves primarias se distinguen porque tienen una pequeña llave amarilla al lado izquierdo de cada atributo, mientras que una llave foranea sql se distingue con un rombo rojo. Como se puede observar, por medio de las llaves primarias y foráneas se crean interrelaciones de tablas y, muchas veces, cada atributo de una tabla depende del atributo de otra.

Cómo definir una foreign key

Para sabe 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.

Llaves foráneas

Las llaves foráneas , también llamadas claves foráneas o foreign key FK en inglés.

Las llaves foráneas son columnas que aparecen en otras tablas que no son la de destino. Las llaves foráneas de una tabla necesariamente son la llave primaria de la tabla de donde vienen.

Las llaves primarias y foráneas tienen una característica denominada integridad referencial, que consiste en hacer que ciertas funciones, como eliminar e insertar en un campo, sean cuidadosas. De esta forma, se aseguran de que ninguno de los registros en los campos referenciados por medio de las llaves foráneas sean borrados o que se vayan a insertar registros nuevos que puedan alterar la funcionalidad de la base de datos.

Una de las diferencias entre las llaves primarias y foráneas es que, en las llaves primarias, la característica not null es imprescindible. En cambio, en las llaves foráneas la característica puede ser null o not null.

Llaves primarias y foráneas de las BBDD relacionales 1

En las bases de datos relacionales, por su caracterización global, normalmente las llaves primarias y foráneas aparecen etiquetadas como PK y FK, respectivamente.

¿Cuál es el siguiente paso?

En este artículo hemos visto cuál es la diferencia entre las llaves primarias y foráneas y cómo se usan y se relacionan en las diferentes tablas de una base de datos. Ahora, si quieres seguir aprendiendo sobre bases de datos relacionales y todo lo relacionado con el mundo del Big data, te invitamos a que te inscribas a nuestro Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp. ¡Apúntate y transfórmate en pocos meses en un experto en el sector!

👉 Descubre más del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

[email protected]