UNIQUE apribojimai Microsoft SQL Server

UNIQUE apribojimų naudojant pirminius raktinius apribojimus naudojimo pranašumai

Kuriant UNIQUE apribojimą, SQL Server administratoriai nurodo, kad stulpelyje gali nebūti pasikartojančių verčių. Kai sukursite naują UNIQUE apribojimą, SQL Server patikrina aptariamą stulpelį, norėdamas nustatyti, ar jame yra pasikartojančių verčių. Jei lentelėje yra anksčiau egzistuojančių dublikatų, komanda apribojimo kūrimo nepavyksta. Panašiai, kai stulpelyje yra UNIQUE apribojimas, bandymai pridėti ar modifikuoti duomenis, kurie gali sukelti pasikartojimų, taip pat nepavyks.

Kodėl naudokite UNIQUE apribojimus

UNIQUE apribojimas ir pirminis raktas - tai unikalumas, tačiau kartais yra geresnis pasirinkimas - UNIQUE apribojimas.

Kurti UNIQUE apribojimą

Yra daug būdų, kaip galite sukurti UNIQUE apribojimą SQL Server. Jei norite naudoti Transact-SQL, norėdami pridėti UNIQUE apribojimą esamoje lentelėje, galite naudoti teiginį ALTER TABLE, kaip parodyta toliau:

ALTER TABLE ADD CONSTRAINT UNIQUE ()

Jei norėtumėte bendrauti su "SQL Server" naudodami GUI įrankius, taip pat galite sukurti UNIQUE apribojimą naudodami " SQL Server Management Studio" . Štai kaip:

  1. Atidarykite "SQL Server Management Studio" .
  2. Išplėskite katalogo " Tables " duomenų bazę, kurioje norite sukurti apribojimą.
  3. Dešiniuoju pelės mygtuku spustelėkite lentelę, kurioje norite pridėti apribojimą, ir spustelėkite Dizainas .
  4. Meniu "Table Designer" spustelėkite Indexes / Keys .
  5. Dialogo lange Indeksai / klavišai spustelėkite Pridėti .
  6. Pasirinkite Unikalų raktą išskleidžiamajame sąraše Tipas .

UNIQUE apribojimai ir UNIQUE indeksai

Yra keletas painiavos dėl skirtumo tarp UNIQUE apribojimo ir UNIQUE indekso. Nors galite sukurti skirtingas Transact-SQL komandas (ALTER TABLE ... ADD CONSTRAINT dėl apribojimų ir CREATE UNIQUE INDEX indeksams), jie didžiąja dalimi turi tą patį poveikį. Iš tiesų, kai jūs sukuriate UNIQUE apribojimą, ji iš tikrųjų sukuria UNIQUE rodyklę lentelėje. Tačiau svarbu pažymėti, kad yra keletas skirtumų: