UNIQUE

Se pueden usar las restricciones UNIQUE para asegurar que no se alojen valores duplicados en columnas específicas que no participan de la llave primaria. Aunque tanto la restricción PRIMARY KEY como la restricción UNIQUE aseguran unicidad, se debería usar UNIQUE  en vez de PRIMARY KEY en los siguientes casos:

·        Si una columna ( o combinación de columnas) no son la llave primaria. Se  pueden definir muchas restricciones UNIQUE  para una tabla, muientras que solo una restricción PRIMARY KEY,
·        Si la columna permite valores nulos. Las restricciones UNIQUE permiten que se les defina para aceptar valores nulos, mientra que las restricciones PRIMARY KEY no lo permiten.

Una restricción UNIQUE pueden ser referenciadas por una restricción FOREIGN KEY.

Se pueden crear restricciones UNIQUE en el mismo modo que se crean restricciones PRIMARY KEY:

·        Creando la restricción al momento de crear la tabla ( como parte de la definición de la tabla)
·        Agregando la restricción a una tabla existente, previendo que la o las columnas comprendidas en la restricción UNIQUE contengan solo valores no duplicados o valores nulos. Una tabla puede aceptar múltiples restricciones UNIQUE.

Cuando se agrega una restricción UNIQUE a una columna (o columnas) existente en la tabla, SQL Server (por defecto) controla los datos existentes en las columnas para asegurar que todos los valores, excepto los nulos, son únicos. Si se agrega una restricción UNIQUE a una columna que tienen valores no nulos duplicados, SQL Server genera un mensaje de error y no agrega la restricción.