Kufizime unike në Microsoft SQL Server

Avantazhet e përdorimit të kufizimeve unike mbi kufizimet kryesore kryesore

Duke krijuar një kufizim UNIK, administratorët e SQL Server specifikojnë se një kolonë nuk mund të përmbajë vlera të kopjuara. Kur krijoni një kufizim të ri UNIK, SQL Server kontrollon kolonën në fjalë për të përcaktuar nëse ai përmban ndonjë vlerë të kopjuar. Nëse tabela përmban duplikate para-ekzistuese, urdhri i krijimit të kufizimit dështon. Në mënyrë të ngjashme, pasi të keni një kufizim UNIK në një kolonë, përpjekjet për të shtuar ose modifikuar të dhënat që do të shkaktonin ekzistencën e kopjimit, dështojnë gjithashtu.

Pse përdorin pengesa unike

Një pengesë UNIQUE dhe një çelës primar të dyja zbatojnë unike, por ka raste që një kufizim UNIK është zgjidhja më e mirë.

Krijimi i një kufizimi UNIK

Ka shumë mënyra për të krijuar një kufizim UNIK në SQL Server. Nëse dëshironi të përdorni Transact-SQL për të shtuar një kufizim UNIK në një tabelë ekzistuese, ju mund të përdorni deklaratën ALTER TABLE, siç është ilustruar më poshtë:

ALTER TABLE ADD KONSTRAIN UNIK ()

Nëse preferoni të ndërveprojnë me SQL Server duke përdorur veglat GUI, gjithashtu mund të krijoni një kufizim UNIK duke përdorur SQL Server Management Studio . Ja se si:

  1. Hap SQL Server Management Studio .
  2. Zgjero dosjen e tabelave të bazës së të dhënave ku dëshiron të krijosh kufizimet.
  3. Djathtas-klikoni tabelën ku dëshironi të shtoni kufizimet dhe klikoni Design .
  4. Në menunë Designer Tabela, klikoni Indexes / Keys .
  5. Në kutinë e dialogut Indexes / Keys, klikoni Add .
  6. Zgjidhni çelësin unik në listën e drop-down-it të Tipit .

Kufizime unike kundrejt indekseve UNIQUE

Ka pasur disa konfuzion rreth dallimit midis një kufizimi UNIK dhe një indeksi unik. Ndërsa mund të përdorni komanda të ndryshme Transact-SQL për t'i krijuar ato (ALTER TABLE ... ADD CONSTRAINT për kufizime dhe CREATE UNEX INDEX për indekset), ato kanë të njëjtin efekt, për pjesën më të madhe. Në fakt, kur krijoni një kufizim UNIK, ajo në fakt krijon një indeks UNIK në tryezë. Është me rëndësi të theksohet, megjithatë, se ka disa dallime: