Constrângeri UNIQUE în Microsoft SQL Server

Avantajele utilizării constrângerilor UNIQUE asupra constrângerilor primare cheie

Prin crearea unei constrângeri UNIQUE, administratorii SQL Server specifică faptul că o coloană poate să nu conțină valori duplicate. Când creați o nouă constrângere UNIQUE, SQL Server verifică coloana în cauză pentru a determina dacă conține valori duplicate. Dacă tabela conține duplicate preexistente, comanda de creare a constrângerilor nu reușește. În mod similar, odată ce aveți o constrângere UNICĂ pe o coloană, încercările de a adăuga sau modifica date care ar cauza existența unor duplicate nu reușesc.

De ce utilizați constrângerile UNIQUE

O constrângere unică și o cheie primară atrag atât unicitatea, dar există momente în care constrângerea UNIQUE este cea mai bună alegere.

Crearea unei constrângeri UNIQUE

Există mai multe moduri în care puteți crea o constrângere UNIQUE în SQL Server. Dacă doriți să utilizați Transact-SQL pentru a adăuga o constrângere UNIQUE pe o tabelă existentă, puteți utiliza instrucțiunea ALTER TABLE, așa cum este ilustrat mai jos:

ALTER TABLE ADD CONSTRAINT UNIQUE ()

Dacă preferați să interacționați cu SQL Server folosind instrumente GUI, puteți crea, de asemenea, o constrângere UNIQUE folosind SQL Server Management Studio . Iată cum:

  1. Deschideți SQL Server Management Studio .
  2. Extindeți dosarul Tabele din baza de date în care doriți să creați constrângerea.
  3. Faceți clic dreapta pe tabelul în care doriți să adăugați constrângerea și faceți clic pe Design .
  4. În meniul Designer de tabel, faceți clic pe Indexuri / chei .
  5. În caseta de dialog Indexuri / chei, faceți clic pe Adăugare .
  6. Alegeți tasta unică din lista derulantă Tip .

Condiții UNIQUE vs. indici uniți

Au existat unele confuzii cu privire la diferența dintre constrângerea UNIQUE și indicele UNIQUE. În timp ce este posibil să utilizați diferite comenzi Transact-SQL pentru a le crea (ALTER TABLE ... ADD CONSTRAINT pentru constrângeri și CREATE UNIQUE INDEX pentru indexuri), aceștia au același efect, în cea mai mare parte. De fapt, atunci când creați o constrângere UNIQUE, acesta creează de fapt un indice UNIQUE pe masă. Este semnificativ totuși să observăm că există mai multe diferențe: