Al crear una restricción ÚNICA, los administradores de SQL Server especifican que una columna de base de datos puede no contener valores duplicados. Cuando crea una nueva restricción ÚNICA, SQL Server verifica la columna en cuestión para determinar si contiene valores duplicados. Si la tabla contiene duplicados, el comando de creación de restricciones falla. Del mismo modo, después de definir una restricción ÚNICA en una columna, los intentos de agregar o modificar datos que causarían la existencia de duplicados también fallan.& amp; amp; nbsp;
& lt; / img & gt ;
PINAR KIVILCIM / Getty Images
¿Por qué usar restricciones ÚNICAS
?
Una restricción ÚNICA y una clave primaria imponen singularidad, pero hay momentos en que una restricción ÚNICA es la mejor opción.
Video destacado
- Use una restricción ÚNICA para especificar varias restricciones a una tabla. Solo puede adjuntar una clave primaria a una tabla.
- Use una restricción ÚNICA cuando una columna permite valores nulos. Las restricciones de clave primaria solo se pueden adjuntar a columnas que donan & amp; apos; t permiten valores nulos.
Creación de una restricción ÚNICA
La forma más fácil de crear una restricción única en Transact-SQL es conectarse a un motor de base de datos en Object Explorer en SQL Management Studio y luego hacer clic en Nueva consulta .
Use la siguiente consulta, modificando los términos según sea necesario, para crear una nueva tabla y agregar una restricción en una columna:
& lt; pre & gt; USE AdventureWorks2012; & lt; br & gt ;
GO & lt; br & gt ;
CREATE TABLE Production.TransactionHistoryArchive4 & lt; br & gt ;
(& lt; br & gt ;
TransactionID int NOT NULL, & lt; br & gt ;
CONSTRAINT AK_TransactionID UNIQUE (TransactionID) & lt; br & gt ;
); & lt; br & gt ;
VAMOS
& lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & lt; & lt; / br & gt; & lt; / pre & gt;
Ejecute la consulta.
Del mismo modo, para crear una restricción única en una tabla existente, ejecute la siguiente consulta T-SQL:
& lt; pre & gt; USE AdventureWorks2012; & lt; br & gt ;
GO & lt; br & gt ;
ALTER TABLE Person.Password & lt; br & gt ;
ADD CONSTRAINT AK_Password UNIQUE (PasswordHash, PasswordSalt); & lt; br & gt ;
VAMOS
& lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & lt; / br & gt; & lt; / pre & gt ;
Restricciones ÚNICAS vs. Índices ÚNICOS
Ha habido cierta confusión sobre la diferencia entre una restricción ÚNICA y un índice ÚNICO. Si bien puede usar diferentes comandos T-SQL para crearlos (ALTER TABLE y ADD CONSTRAINT para restricciones y CREATE UNIQUE INDEX para índices), tienen el mismo efecto, en su mayor parte. De hecho, cuando crea una restricción ÚNICA, en realidad crea un índice ÚNICO en la tabla. Sin embargo, tenga en cuenta varias diferencias:
- Cuando crea un índice, puede agregar opciones adicionales al comando de creación.
- Se puede usar una columna sujeta a una restricción ÚNICA como clave externa.
& amp; # x203A; Informática