UNIEKE Beperkings in Microsoft SQL Server

Die voordele van die gebruik van UNIEKE beperkings oor primêre sleutelbeperkings

Deur 'n UNIEKE beperking te skep, spesifiseer SQL Server administrateurs dat 'n kolom nie duplikaatwaardes mag bevat nie. Wanneer u 'n nuwe UNIEKE beperking skep, stoor SQL Server die betrokke kolom om te bepaal of dit dubbele waardes bevat. As die tabel bestaande duplikate bevat, misluk die beperkingskeppingsopdrag. Net so, as jy 'n UNIEKE beperking op 'n kolom het, probeer om data te voeg of te verander wat duplikate sou veroorsaak, ook misluk.

Hoekom gebruik UNIEKE beperkinge

'N UNIEKE beperking en 'n primêre sleutel beide uniekheid af te dwing, maar daar is tye dat 'n UNIEKE beperking die beter keuse is.

Die skep van 'n UNIEKE beperking

Daar is baie maniere waarop jy 'n UNIEKE beperking in SQL Server kan skep. As u Transact-SQL wil gebruik om 'n UNIEKE beperking op 'n bestaande tabel by te voeg, kan u die ALTER TABLE-verklaring gebruik, soos hieronder geïllustreer:

ALTER TABLE ADD CONSTRAINT UNIEK ()

As u verkies om met SQL Server te kommunikeer met GUI-instrumente, kan u ook 'n UNIEKE beperking skep met SQL Server Management Studio . So is dit:

  1. Maak SQL Server Management Studio oop .
  2. Brei die Tabelle- lêergids uit van die databasis waar jy die beperking wil skep.
  3. Klik met die rechtermuisknop op die tabel waar u die beperking wil byvoeg en klik op Ontwerp .
  4. Klik in die Table Designer-kieslys op Indekse / Sleutels .
  5. Klik in die dialoogkassies Indeks / Keys op Voeg by .
  6. Kies 'n unieke sleutel in die vervolg keuselys Tipe .

UNIEKE beperkinge vs UNIEKE indekse

Daar is 'n mate van verwarring oor die verskil tussen 'n UNIEKE beperking en 'n UNIEKE indeks. Terwyl u verskillende Transact-SQL-opdragte kan gebruik om hulle te skep (ALTER TABLE ... ADD CONSTRAINT vir beperkinge en CREATE UNIQUE INDEX vir indekse), het hulle dieselfde uitwerking, vir die grootste deel. Trouens, as jy 'n UNIEKE beperking skep, skep dit eintlik 'n UNIEKE indeks op die tafel. Dit is egter belangrik om daarop te let dat daar verskeie verskille is: