Предности на користењето на единствени ограничувања во однос на основните ограничувања
Со создавање на UNIQUE ограничување, администраторите на SQL Server наведуваат дека колоната не смее да содржи дупликати вредности. Кога креирате нова UNIQUE ограничување, SQL Server ја проверува предметната колона за да утврди дали содржи дупликати вредности. Ако табелата содржи претходно постоечки дупликати, командата за креирање ограничувања не успее. Слично на тоа, откако ќе имате UNIQUE ограничување на колона, се обидува да додадете или модифицирате податоци што би предизвикале дупликати да не постојат.
Зошто да користите УНИКАТИ Ограничувања
Единственото ограничување и примарниот клуч и ја наметнуваат единственоста, но има моменти кога еднократно ограничување е подобар избор.
- Користете уникатно ограничување кога сакате повеќе ограничувања на табелата. Можете да прикачите само еден примарен клуч во табелата.
- Користете еднократно ограничување кога колоната дозволува нулти вредности. Примарните ограничувања на клучот може да се приложат само на колони кои не дозволуваат нулти вредности.
Креирање на УНИКАЛНО Ограничување
Постојат многу начини на кои можете да креирате UNIQUE ограничување во SQL Server. Ако сакате да го користите Transact-SQL за да додадете UNIQUE ограничување на постоечка табела, можете да ја користите изјавата ALTER TABLE, како што е илустрирано подолу:
Измени го ТАБЕЛОТ ДОДАДЕТЕ ГОДИШЕН ОСНОВ ()Ако сакате да комуницирате со SQL Server користејќи GUI алатки, исто така можете да креирате UNIQUE ограничување користејќи SQL Server Management Studio . Еве како:
- Отворете го SQL Server Management Studio .
- Проширете ја папката Табели во базата на податоци каде што сакате да го креирате ограничувањето.
- Десен-клик на табелата каде што сакате да го додадете ограничувањето и кликнете Дизајн .
- Во менито Дизајнер на табели, кликнете Индекси / Копчиња .
- Во дијалогот Индекси / Копчиња, кликнете Додај .
- Изберете уникатен клуч во паѓачката листа Тип .
УНИКАЛНИ Ограничувања наспроти УНИКАТИ Индекси
Имаше некаква конфузија во врска со разликата помеѓу еднократното ограничување и еден индекс. Додека можете да користите различни Transact-SQL команди за да ги создадете (ALTER TABLE ... ADD CONSTRAINT за ограничувања и CREATE UNIQUE INDEX за индекси), тие имаат ист ефект, во најголем дел. Всушност, кога ќе креирате UNIQUE ограничување, тоа всушност создава УНИКАЛЕН индекс на масата. Меѓутоа, значајно е да се забележи дека има неколку разлики:
- Кога креирате индекс, можете да додадете дополнителни опции на командата за креирање.
- Колона што е предмет на UNIQUE ограничување може да се користи како странски клуч .