ÜLDISTE piirangute kasutamise eelised peamistest võtmepiirangutest
Kui loote UNIQUE piirangu, määravad SQL Serveri administraatorid, et veerg ei pruugi sisaldada topeltväärtusi. Kui loote uue UNIQUE piirangu, kontrollib SQL Server kõnealust veergu, et määrata, kas see sisaldab ükskõik milliseid väärtusi. Kui tabel sisaldab olemasolevaid duplikaate, siis piirangute loomine käsku ebaõnnestub. Samamoodi, kui teil on veerus UNIQUE piirang, üritatakse lisada või muuta andmeid, mis võivad dubleerida, ka ebaõnnestuda.
Miks kasutage UNIQUE piiranguid
UNIQUE piirang ja esmane võti mõlemad jõustavad unikaalsust, kuid mõnikord on parema valiku saavutamiseks UNIQUE piirang.
- Kasutage UNIQUE piirangut, kui soovite tabelile mitu piirangut. Võite lisada ainult ühe primaarvõtme tabelisse.
- Kasutage UNIQUE piirangut, kui veerg lubab nullväärtusi. Peamised võti piirangud saab lisada ainult veergudele, mis ei võimalda nullväärtusi.
UNIQUE piirangu loomine
SQL Serveris on UNIQUE piirangu loomiseks palju võimalusi. Kui soovite kasutada Transact-SQL, et lisada UNIQUE piirang olemasolevasse tabelisse, võite kasutada ALTER TABLE avaldust, nagu on illustreeritud allpool:
ALTER TABLE ADD CONSTRAINT UNIQUE ()Kui eelistate GUI-tööriista abil SQL Serveriga suhelda, võite SQL Server Management Studio abil luua UNIQUE piirangu. Nii toimige järgmiselt.
- Avage SQL Server Management Studio .
- Laiendage andmebaasi kausta Tabelid , kus soovite piirangut luua.
- Paremklõpsake tabelit, kuhu soovite piirangut lisada, ja klõpsake nuppu Kujundus .
- Menüüs Table Designer klõpsake Indeksid / võtmed .
- Dialoogiboksis Indeksid / võtmed klõpsake Lisa .
- Valige rippmenüüst Tüüp Erinevad võtmed .
UNIQUE piirangud ja UNIQUE indeksid
UNIQUE piirangu ja UNIQUE indeksi vahelise erinevuse vahel on olnud segadust. Kuigi võite nende loomiseks kasutada erinevaid Transact-SQL käske (ALTER TABLE ... ADD CONSTRAINT piirangute jaoks ja CREATE UNIQUE INDEX indeksitele), on neil enamasti sama mõju. Kui loote UNIQUE piirangu, loob see tegelikult tabeli UNIQUE indeksi. Siiski on oluline märkida, et on mitmeid erinevusi:
- Kui loote indeksi, saate lisada loomise käsule täiendavaid valikuid.
- Väljatrüki võti võib kasutada veeruna, mille suhtes kehtib UNIQUE piirang.