El Unique constraint es una sentencia SQL que
evita el ingreso de valores duplicados por columna en una tabla, esto permite
restringir los datos que se van a almacenar ya que no acepta valores repetidos,
es decir que si tenemos una tabla PAIS
con una columna NOMBRE_PAIS y la
columna respectivamente tiene valores como “México”, “Chile”, ”Colombia”, ”Panamá”, ”Uruguay”,
si quisiéramos agregar “México” no podremos porque se activara la
validación del campo unique.
Creando la tabla
|
CREATE TABLE CIUDAD (
CODIGO_CIUDAD NUMBER,
CODIGO_PAIS NUMBER,
NOMBRE_CIUDAD VARCHAR2(100),
CONSTRAINT UNI_NOM_CIUDAD
UNIQUE (NOMBRE_CIUDAD)
);
|
Modificando la tabla
|
ALTER TABLE CIUDAD ADD CONSTRAINT UNI_NOM_CIUDAD UNIQUE (NOMBRE_CIUDAD);
|
Se pueden crear unique múltiples, agregando más campos al unique así: UNIQUE(NOMBRE_CIUDAD,
CODIGO_PAIS,…) Esto permitirá crear campos
que son unique por registro, aquí lo que se hace es evaluar las columnas por
cada registro y si se encuentra que las
columnas NOMBRE_CIUDAD
y CODIGO_PAIS, ya contienen esos valores no permitirá ingresar
estos nuevos valores.
Cuando se ingresa un valor duplicado en la
Columna con la restricción unique, se produce el error:
El null no cuenta como un valor por lo
tanto el campo con la restricion unique puede almacenar tantos null como sean
necesarios.