Priekšrocības, izmantojot UNIQUE ierobežojumus virs galvenajiem galvenajiem ierobežojumiem
Radot UNIQUE ierobežojumu, SQL Server administratori norāda, ka slejā var nebūt dublējošas vērtības. Izveidojot jaunu UNIQUE ierobežojumu, SQL Server pārbauda attiecīgo sleju, lai noteiktu, vai tajā ir dublikātu vērtības. Ja tabulā ir jau esošie dublikāti, ierobežojuma izveides komanda neizdodas. Tāpat, ja kolonnā ir kāds ierobežojums, mēģina pievienot vai mainīt datus, kas varētu radīt dublētus, arī neizdodas.
Kāpēc izmantot UNIQUE ierobežojumus
UNIQUE ierobežojums un primārā atslēga gan piesaista unikalitāti, bet ir gadījumi, kad labāka izvēle ir UNIQUE ierobežojums.
- Izmantojiet UNIQUE ierobežojumu, ja vēlaties tabulai izmantot vairākus ierobežojumus. Jūs varat pievienot tikai vienu primāro atslēgu tabulā.
- Izmantojiet UNIQUE ierobežojumu, ja kolonna pieļauj null vērtības. Primārās atslēgas ierobežojumus var pievienot tikai tādām kolonnām, kas neļauj nulles vērtības.
UNIQUE ierobežojuma izveide
SQL Server ir daudz veidu, kā jūs varat izveidot neierobežotu ierobežojumu. Ja vēlaties izmantot Transact-SQL, lai esošai tabulai pievienotu UNIQUE ierobežojumu, varat izmantot paziņojumu ALTER TABLE, kā parādīts zemāk:
ALTER TABLE ADD CONSTRAINT UNIQUE ()Ja vēlaties sadarboties ar SQL Server, izmantojot GUI rīkus, varat arī izveidot UNIQUE ierobežojumu, izmantojot SQL Server Management Studio . Lūk, kā:
- Atveriet SQL Server Management Studio .
- Paplašiniet datu bāzes mapi Galdi , kur vēlaties izveidot ierobežojumu.
- Ar peles labo pogu noklikšķiniet uz tabulas, kurā vēlaties pievienot ierobežojumu, un noklikšķiniet uz Dizains .
- Izvēlnē Table Designer noklikšķiniet uz Indexes / Keys .
- Dialoglodziņā Indeksi / Atslēgas noklikšķiniet uz Pievienot .
- Izvēlieties Unikālo ievadi nolaižamajā sarakstā Veids .
UNIQUE ierobežojumi un UNIQUE indeksi
Ir bijis zināms neskaidrības par atšķirību starp UNIQUE ierobežojumu un UNIQUE indeksu. Kamēr jūs varat izmantot dažādas Transact-SQL komandas, lai tās izveidotu (ALTER TABLE ... ADD CONSTRAINT par ierobežojumiem un CREATE UNIQUE INDEX indeksiem), tiem visvairāk ir tāds pats efekts. Faktiski, kad jūs izveidojat UNIQUE ierobežojumu, tas faktiski izveido UNIQUE indeksu uz galda. Tomēr ir svarīgi atzīmēt, ka pastāv vairākas atšķirības:
- Veidojot indeksu, varat izveidot papildu komandas izveides opcijas.
- Sleju, uz kuru attiecas ierobežojums UNIQUE, var izmantot kā ārēju atslēgu .