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.
- Utilizați o constrângere UNIQUE atunci când doriți mai multe constrângeri la un tabel. Puteți atașa doar o cheie primară la o masă.
- Utilizați o constrângere UNIQUE atunci când o coloană permite valori nula. Constrângerile cheie cheie pot fi atașate numai la coloanele care nu permit valori nula.
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:
- Deschideți SQL Server Management Studio .
- Extindeți dosarul Tabele din baza de date în care doriți să creați constrângerea.
- Faceți clic dreapta pe tabelul în care doriți să adăugați constrângerea și faceți clic pe Design .
- În meniul Designer de tabel, faceți clic pe Indexuri / chei .
- În caseta de dialog Indexuri / chei, faceți clic pe Adăugare .
- 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:
- Când creați un index, puteți adăuga opțiuni suplimentare la comanda de creare.
- O coloană supusă unei constrângeri UNIQUE poate fi utilizată ca o cheie străină .