SQL Server: restricción única

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.

SQL Server: restricción única

Este tutorial de SQL Server muestra cómo Crear, agregar y eliminar restricciones únicas Sintaxis y ejemplos en SQL Server.

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

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 mediante la declaración CREATE TABLE en SQL Server 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 SQL Server usando la instrucción CREATE TABLE.

CREATE TABLE employees
( employee_id INT PRIMARY KEY,
  employee_number INT NOT NULL,
  last_name VARCHAR(50) NOT NULL,
  first_name VARCHAR(50),
  salary MONEY,
  CONSTRAINT employees_unique UNIQUE (employee_number)
);

En este ejemplo, creamos una restricción única en la tabla de empleados denominada employee_unique. Contiene un solo campo, employee_number.

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

CREATE TABLE employees
( employee_id INT PRIMARY KEY,
  employee_number INT NOT NULL,
  last_name VARCHAR(50) NOT NULL,
  first_name VARCHAR(50),
  salary MONEY,
  CONSTRAINT employees_unique UNIQUE (last_name, first_name)
);

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

La sintaxis para crear una restricción única mediante la declaración ALTER TABLE en SQL Server 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 SQL Server.

ALTER TABLE employees
ADD CONSTRAINT employees_unique UNIQUE (employee_number);

En este ejemplo, hemos creado una restricción única en la tabla de empleados existente denominada employee_unique. Consiste en un campo llamado número_empleado.

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

ALTER TABLE employees
ADD CONSTRAINT employee_name_unique UNIQUE (last_name, first_name);

eliminar restricción única

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

ALTER TABLE table_name
DROP CONSTRAINT constraint_name;

table_name El nombre de la tabla a modificar. Esta es la tabla cuya restricción única desea descartar. 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 SQL Server.

ALTER TABLE employees
DROP CONSTRAINT employees_unique;

En este ejemplo, descartaremos la restricción única en la tabla de empleados denominada employee_unique.