La importancia de la Primary Key en SQL

Antonio J. Galisteo

En esta ocasión vamos a hablar de la importancia de la Primary Key en SQL.

Introducción

La llave primaria o primay key en SQL es una o varias columnas de una tabla que identifican de forma única a un registro o tupla. Estas son algunas de sus características.

  • Si esta formado por más de una columna, se llama primary key compuesta o múltiple.
  • En MySQL y MariaDB puede estar formada por hasta 16 columnas y en Oracle hasta 32 columnas.
  • Contiene valores únicos, no pueden estar duplicados y no pueden tener el valor NULL.
  • Ofrece un acceso más rápido a los datos.

Declaración de la Primary Key

Vamos a aprender cómo declarar la primary key de varias formas. Aquí podemos ver cómo se crea una llave primaria de una columna:

CREATE TABLE IF NOT EXISTS empleado (
    id INT NOT NULL,
    nombre VARCHAR(255) NOT NULL,
    apellidos VARCHAR(255) NULL,
    edad INT NOT NULL,
    PRIMARY KEY (id)
);

También podemos declararla en la misma línea de declaración del atributo:

CREATE TABLE IF NOT EXISTS empleado (
    id INT PRIMARY KEY,
    nombre VARCHAR(255) NOT NULL,
    apellidos VARCHAR(255) NULL,
    edad INT NOT NULL
);

Podríamos indicar que dicho id es auto incremantado para que la base de datos se encargue de ir asignando un id a cada tupla:

CREATE TABLE IF NOT EXISTS empleado (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(255) NOT NULL,
    apellidos VARCHAR(255) NULL,
    edad INT NOT NULL
);

Yo personalmente prefiero esta última forma. Vamos ahora a ver cómo se crea una primary key múltiple. Este ejemplo no es correcto en sí, pero nos servirá para ver cómo crearla:

CREATE TABLE IF NOT EXISTS empleado (
    id INT NOT NULL,
    nombre VARCHAR(255) NOT NULL,
    apellidos VARCHAR(255) NULL,
    edad INT NOT NULL,
    CONSTRAINT pk_empleado PRIMARY KEY (nombre, apellidos)
);

Podemos ver que en este caso se hace agregando una CONSTRAINT. Como te indicaba no es una llave primaria correcta porque puede haber dos personas con el mismo nombre y apellidos.

También podemos agregar una primary key a una tabla que no la tenga y lo haremos con ALTER TABLE como puedes ver en el siguiente ejemplo:

ALTER TABLE empleado ADD PRIMARY KEY (id);

De la misma forma podríamos hacerlo con una primary key compuesta:

ALTER TABLE empleado ADD PRIMARY KEY (nombre,apellidos);

Eliminar la Primary Key

Antes de continuar, toda tabla debe tener llave primaria. Vamos a ver cómo eliminarla, para por ejemplo, crear una nueva como hemos visto anteriormente. Vamos a eliminar una primary key como sigue:

ALTER TABLE empleado DROP PRIMARY KEY;

Conclusión

Nunca olvides declarar la primary key en todas tus tablas. Ya conoces la importancia de la Primary Key en SQL, como declararla y eliminarla. Puedes aprender más en nuestra sección de MySQL.

Espero que te haya sido de utilidad!

Publicado el 13-08-2019

Donar

Si te ha sido de ayuda y quieres hacer una donación te lo agradeceremos :)

Compartelo!


Deja un comentario

Comentanos

*

Ir arriba de la pagina