UNIKALŪS apribojimai Microsoft SQL Server

UNIKALUS apribojimas suteikia daugiau lankstumo nei pirminio rakto apribojimas

Sukurdami UNIKALĮ apribojimą, SQL serverio administratoriai nurodo, kad duomenų bazės stulpelyje negali būti pasikartojančių reikšmių. Kai sukuriate naują UNIKALĄ apribojimas SQL serveris patikrina atitinkamą stulpelį, kad nustatytų, ar jame nėra pasikartojančių reikšmių. Jei stalo yra dublikatų, suvaržymo kūrimo komanda nepavyksta. Panašiai, kai apibrėžiate UNIKALĮ stulpelio apribojimą, bandymai pridėti arba modifikuoti duomenis, dėl kurių atsirastų dublikatai, taip pat nepavyksta.





SQL kodas juodame fone.

KIVILCIM PINAR / Getty Images

Kodėl verta naudoti UNIKALUS apribojimus

UNIKALUS apribojimas ir pirminis raktas užtikrina unikalumą, tačiau kartais UNIKALUS apribojimas yra geresnis pasirinkimas.



  • Norėdami nurodyti kelis lentelės apribojimus, naudokite UNIKALUS apribojimą. Prie lentelės galite pridėti tik vieną pagrindinį raktą.
  • Naudokite UNIKALĮ apribojimą, kai stulpelyje leidžiamos nulinės reikšmės. Pirminio rakto apribojimai gali būti pridėti tik prie stulpelių, kuriuose neleidžiamos nulinės reikšmės.

Unikalaus apribojimo kūrimas

Lengviausias būdas sukurti unikalų apribojimą „Transact-SQL“ yra prisijungti prie duomenų bazės variklio „SQL Management Studio“ „Object Explorer“ ir tada spustelėti Nauja užklausa .

Norėdami sukurti naują lentelę ir pridėti stulpelio apribojimą, naudokite šią užklausą, jei reikia, pakeisdami terminus:



|_+_|

Vykdykite užklausą.

Panašiai, norėdami sukurti unikalų esamos lentelės apribojimą, vykdykite šią T-SQL užklausą:

|_+_|

UNIKALŪS apribojimai prieš UNIKALUS indeksus

Buvo šiek tiek painiavos dėl skirtumo tarp UNIKALUS apribojimo ir UNIKALUS indekso. Nors galite naudoti skirtingas T-SQL komandas, kad jas sukurtumėte (ALTER TABLE ir ADD CONSTRAINT – suvaržymai, o CREATE UNIQUE INDEX – indeksams), dažniausiai jos turi tą patį poveikį. Tiesą sakant, kai sukuriate UNIKALĮ apribojimą, jis iš tikrųjų sukuria UNIKALĮ lentelės indeksą. Tačiau atkreipkite dėmesį į keletą skirtumų:

  • Kai kuriate indeksą, galite pridėti papildomų parinkčių į kūrimo komandą.
  • Stulpelis, kuriam taikomas UNIKALUS apribojimas, gali būti naudojamas kaip išorinis raktas.