PostgreSQL: restricciones únicas

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

PostgreSQL: restricciones únicas

Este tutorial de PostgreSQL explica cómo Crear, agregar y eliminar restricciones únicas Viene con sintaxis y ejemplos en PostgreSQL.

¿Cuál es la restricción única en PostgreSQL?

Una restricción única es un campo único o una combinación de campos que define un registro de forma única. Algunos campos pueden contener valores nulos siempre que la combinación de valores sea única.

¿Cuál es la diferencia entre una restricción única y una clave principal?

Clave primaria restricción única
Todos los campos que pertenecen a la clave principal no pueden contener valores nulos. Algunos campos que forman parte de una restricción única pueden contener valores nulos siempre que la combinación de valores sea única.

Crear un contrato único – Usando la instrucción CREATE TABLE

La sintaxis para crear una restricción única usando la declaración CREATE TABLE en PostgreSQL es:

CREATE TABLE table_name
(
  column1 datatype [ NULL | NOT NULL ],
  column2 datatype [ NULL | NOT NULL ],
  ...

  CONSTRAINT constraint_name UNIQUE (uc_col1, uc_col2, ... uc_col_n)
);

table_name El nombre de la tabla que desea crear. column1, column2 Las columnas que desea crear en la tabla. constrict_name El nombre de la restricción única. uc_col1, uc_col2, … uc_col_n Las columnas que componen la restricción única.

ejemplo

Veamos un ejemplo de cómo crear una restricción única en PostgreSQL usando la instrucción CREATE TABLE.

CREATE TABLE order_details
( order_detail_id integer CONSTRAINT order_details_pk PRIMARY KEY,
  order_id integer NOT NULL,
  order_date date,
  quantity integer,
  notes varchar(200),
  CONSTRAINT order_unique UNIQUE (order_id)
);

En este ejemplo, creamos una restricción única llamada order_unique en la tabla order_details. Contiene un solo campo: el campo order_id.

También podemos crear una restricción única con múltiples campos, como en el siguiente ejemplo:

CREATE TABLE order_details
( order_detail_id integer CONSTRAINT order_details_pk PRIMARY KEY,
  order_id integer NOT NULL,
  order_date date,
  quantity integer,
  notes varchar(200),
CONSTRAINT order_date_unique UNIQUE (order_id, order_date)
);

CREAR RESTRICCIÓN ÚNICA – UTILIZANDO LA DECLARACIÓN ALTER TABLE

La sintaxis para crear una restricción única usando la declaración ALTER TABLE en PostgreSQL es:

ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE (column1, column2, ... column_n);

table_name El nombre de la tabla a modificar. Esta es la tabla donde desea agregar una restricción única. constrict_name El nombre de la restricción única. column1, column2, … column_n constituyen las columnas de la restricción única.

ejemplo

Veamos un ejemplo de cómo usar la declaración ALTER TABLE para agregar una restricción única a una tabla existente en PostgreSQL.

ALTER TABLE order_details
ADD CONSTRAINT order_unique UNIQUE (order_id);

En este ejemplo, creamos una restricción única llamada order_unique en la tabla order_details existente. Consiste en un campo llamado order_id.

También podemos crear una restricción única con múltiples campos, como en el siguiente ejemplo:

ALTER TABLE order_details
ADD CONSTRAINT order_date_unique UNIQUE (order_id, order_date);

eliminar restricción única

La sintaxis para descartar una restricción única en PostgreSQL es:

ALTER TABLE table_name
DROP CONSTRAINT constraint_name;

table_name El nombre de la tabla a modificar. Esta es la tabla de la que desea eliminar la restricción única. constrict_name El nombre de la restricción única que se va a eliminar.

ejemplo

Veamos un ejemplo de cómo eliminar una restricción única de una tabla en PostgreSQL.

ALTER TABLE order_details
DROP CONSTRAINT order_unique;

En este ejemplo, soltamos una restricción única llamada order_unique en la tabla order_details.

(Visited 12 times, 1 visits today)