Restriccions úniques al servidor de Microsoft SQL

Els avantatges d'utilitzar restriccions úniques sobre restriccions clau principals

En crear una restricció UNIQUE, els administradors de SQL Server especifiquen que una columna pot no contenir valors duplicats. Quan creeu una nova restricció ÚNICA, SQL Server verifica la columna en qüestió per determinar si conté valors duplicats. Si la taula conté duplicats preexistents, l'ordre de creació de restriccions falla. De la mateixa manera, una vegada que tingui una restricció UNIQUE en una columna, els intents d'afegir o modificar dades que causen duplicats també poden fallar.

Per què utilitzar restriccions úniques

Una restricció única i una clau primària imposen l'unicitat, però hi ha vegades que una restricció UNIQUE és la millor opció.

Crear una restricció única

Hi ha moltes maneres de crear una restricció única en SQL Server. Si voleu utilitzar Transact-SQL per afegir una restricció única en una taula existent, podeu utilitzar la instrucció ALTER TABLE, tal com es mostra a continuació:

ALTER TABLE AJUDA CONSTRAINT UNIQUE ()

Si preferiu interactuar amb SQL Server mitjançant eines GUI, també podeu crear una restricció ÚNICA utilitzant SQL Server Management Studio . A continuació s'explica com:

  1. Obriu SQL Server Management Studio .
  2. Amplieu la carpeta Taules de la base de dades on voleu crear la restricció.
  3. Feu clic amb el botó dret a la taula on voleu afegir la restricció i feu clic a Disseny .
  4. Al menú Dissenyador de taules, feu clic a Índexs / Claus .
  5. Al quadre de diàleg Indexes / Keys, feu clic a Agregar .
  6. Trieu la clau única a la llista desplegable Tipus .

Restriccions úniques vs índexs únics

Hi ha hagut alguna confusió sobre la diferència entre una restricció UNIQUE i un índex únic. Tot i que podeu utilitzar diferents ordres de transact-SQL per crear-los (ALTER TABLE ... ADD CONSTRAINT per a les restriccions i CREATE UNIQUE INDEX per a índexs), tenen el mateix efecte, en la seva major part. De fet, quan es crea una restricció UNIQUE, realment crea un índex ÚNIC a la taula. És important observar, però, que hi ha diverses diferències: