УНІКАЛЬНЫЯ Абмежаванні ў Microsoft SQL Server

Перавагі выкарыстання UNIQUE абмежаванняў Больш першаснага ключа

Ствараючы UNIQUE абмежаванні, адміністратары SQL Server пазначыць, што слупок не можа ўтрымліваць паўтараюцца значэння. Пры стварэнні новага UNIQUE абмежаванні, SQL Server правярае слупок ў пытанні, каб вызначыць, ці ўтрымоўвае яна якія-небудзь паўтараюцца значэння. Калі табліца змяшчае ужо існуючыя дублікаты, каманда стварэння абмежаванняў не ўдаецца. Сапраўды гэтак жа, як толькі ў вас ёсць абмежаванне UNIQUE на калонцы, спрабуе дадаць ці змяніць дадзеныя, якія маглі б прывесці дублюе існаваць таксама церпяць няўдачу.

Навошта выкарыстоўваць унікальныя абмежаванні

Унікальную абмежаванне і першасны ключ і забяспечыць унікальнасць, але ёсць часы, што UNIQUE абмежаванне з'яўляецца лепшым выбарам.

Стварэнне унікальнага абмежаванні

Ёсць шмат спосабаў, вы можаце стварыць унікальнае абмежаванне ў SQL Server. Калі вы хочаце выкарыстоўваць Transact-SQL, каб дадаць абмежаванне UNIQUE на існуючую табліцу, вы можаце выкарыстоўваць аператар ALTER TABLE, як паказана ніжэй:

ALTER TABLE ADD CONSTRAINT UNIQUE ()

Калі вы аддаеце перавагу , каб ўзаемадзейнічаць з SQL Server , выкарыстоўваючы графічныя прылады, вы можаце таксама стварыць унікальнае абмежаванне з дапамогай SQL Server Management Studio . Вось як:

  1. Адкрыйце SQL Server Management Studio.
  2. Разгарніце тэчку Табліцы базы дадзеных , дзе вы хочаце стварыць абмежаванне.
  3. Пстрыкніце правай кнопкай мышы табліцу , у якой вы хочаце дадаць абмежаванне і націсніце дызайн.
  4. У меню Канструктар табліц абярыце Індэксы / Ключы.
  5. У дыялогавым акне Індэксы / Ключы націсніце кнопку Дадаць.
  6. Выберыце унікальны ключ у расчыняецца спісе Тып.

УНІКАЛЬНЫЯ Абмежаванні супраць УНІКАЛЬНЫЯ індэксы

Там была некаторая блытаніна з нагоды розніцы паміж абмежаваннем UNIQUE і унікальным індэксам. У той час як вы можаце выкарыстоўваць розныя Transact-SQL каманды для іх стварэння (ALTER TABLE ... ADD CONSTRAINT для абмежаванняў і CREATE UNIQUE INDEX для індэксаў), яны маюць той жа эфект, па большай частцы. На самай справе, калі вы ствараеце UNIQUE абмежаванне, ён фактычна стварае унікальны індэкс на стале. Важна адзначыць, аднак, што ёсць некалькі адрозненняў: