Tiempo de lectura:3 Minutos, 20 Segundos

La clave primaria en PostgreSQL es una de los aspectos más importantes a la hora de crear una tabla. La clave primaria indica a la tabla cuando un registro es único, es decir, la columna o columnas escogidas nunca tendrán valores repetidos ni con valores nulos.

Ejemplo

Para entenderlo voy a poner un ejemplo muy sencillo… imagina que tienes una tabla de empleados con columnas de nombre, apellidos, DNI, etc… ¿cuál de estas columnas crees que seria la clave primaria? En este caso es el DNI, porque cada persona tiene un número de DNI y jamás se repetirá, es único. A grandes rasgos podemos decir que la clave primaria de una tabla es como el DNI de una persona, un dato único, que nunca se puede repetir y con el cual puedes identificar el resto de valores.

Requisitos

  • Normalmente la clave primaria se define al crear la tabla, aunque no es obligatorio.
  • Cualquier columna, de cualquier tipo, puede ser una clave primaria.
  • La clave primaria puede ser un columna o un conjunto de columnas de uno o más tipos de datos.
  • Solo puede existir una clave primaria por tabla.
  • Los valores de la columna de la clave primaria no se pueden repetir y no puede contener valores nulos.

Definir clave primaria al crear la tabla

Lo habitual es crear la clave primaria cuando creamos la tabla. Se hace con la siguiente sintaxis:

En el siguiente ejemplo puedes observar como se crea la clave primaria sobre la columna DNI de la tabla de clientes:

Si necesitas crear una clave primaria de dos o más columnas la sintaxis es la siguiente:

Nombre de la clave primaria

El nombre de la clave primaria es automático y su nomenclatura es nombreTabla_pkey. En el caso de nuestra tabla seria clientes_pkey., pero si quieres darle otro nombre, es posible hacerlo con la siguiente sintaxis:

Siguiendo con nuestro ejemplo de clientes, vamos a crear la tabla con una clave primaria llamada pk_dni:

Definir clave primaria de una tabla ya existente

Esto no debería ser lo habitual y siempre se debería crear la clave primaria al crear la tabla inicialmente, pero si por cualquier motivo la tabla no tiene clave primaria, puedes crearla con la siguiente sintaxis.

En el siguiente ejemplo puedes observar como se ha creado la tabla productos sin clave primaria y posteriormente se le asigna una:

Autoincremental en clave primaria

Si no tienes un campo que sea único en tu tabla, el mejor método para crear la clave primaria es crear un incremental. Este campo ira sumando uno al ultimo valor y de este modo será un valor único.

Para establecer un incremental como clave primaria al crear la tabla usa esta sintaxis:

Si la tabla ya la tienes creada, puedes usar esta sintaxis para crear una columna de tipo incremental y que sea la clave primaria:

Borrar clave primaria

Si quieres eliminar una clave primaria usa la siguiente sintaxis:

Destacar que debes escribir el nombre exacto de la clave primaria, no el nombre de la columna que es clave primaria.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Perfiles en Redes Sociales