La importancia de la Primary Key en SQL
Anuncio:
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!