Son dos
tipos de restricciones que pueden
ser utilizadas para hacer cumplir la integridad
de datos en tablas de SQL Server. Estos son objetos importantes en las
bases de datos y sustituyen a las
antiguas reglas y su instrucción CREATE RULE. Las restricciones son reglas
que la base de datos hace cumplir. Por ejemplo, la restricción UNIQUE sirve
para asegurarse que no se introduzcan valores duplicados en columnas
específicas que no pertenecen a una clave principal. La restricción UNIQUE se debe crear siguiendo los siguientes
criterios:
Utilizaremos una restricción
UNIQUE en lugar de una restricción PRIMARY KEY cuando se desea hacer cumplir la
singularidad de una columna o combinación de columnas, que no sean la clave
principal. Al contrario que PRIMARY KEY, la restricción UNIQUE permite tomar el
valor NULL. Sin embargo, como sucede con cualquier valor de una restricción
UNIQUE, sólo se permitirá un valor nulo en cada columna.
Cuando se agrega una restricción
UNIQUE a una columna o columnas existentes en la tabla, el motor de la base de
datos base examina los datos existentes en las columnas para asegurarse de que
todos los valores son únicos. Si se añade una restricción UNIQUE a una columna
que ya tiene valores duplicados, se producirá un error y no será posible añadir
la restricción. A menos que se especifique explícitamente un índice CLUSTERED,
se creará automáticamente un índice UNCLUSTERED
y único para hacer cumplir la restricción UNIQUE. De los índices se hablará en
artículos posteriores.