UNIQUE Omezení v Microsoft SQL Serveru

Výhody použití UNIQUE omezení přes primární omezení klíče

Vytvořením omezení UNIQUE správci serveru SQL určují, že sloupec nemusí obsahovat duplicitní hodnoty. Při vytvoření nového omezení UNIQUE SQL Server zkontroluje příslušný sloupec a zjistí, zda obsahuje duplicitní hodnoty. Pokud tabulka obsahuje již existující duplikáty, příkaz vytváření omezení selže. Stejně tak, jakmile na stĺpci máte UNIQUE omezení, pokusy o přidání nebo úpravu dat, které by způsobily existenci duplicit, také selžou.

Proč používat UNIQUE omezení

Unikátní omezení a primární klíč podporují jedinečnost, ale existují časy, kdy je UNIQUE omezení lepší volbou.

Vytvoření omezení UNIQUE

Existuje mnoho způsobů, jak můžete v SQL Server vytvořit omezení UNIQUE. Pokud chcete použít Transact-SQL k přidání omezení UNIQUE na existující tabulku, můžete použít příkaz ALTER TABLE, jak je znázorněno níže:

ALTER TABLE PŘIDAT CONSTRAINT UNIQUE ()

Pokud dáváte přednost interakci se serverem SQL pomocí nástrojů GUI, můžete také vytvořit omezení UNIQUE pomocí SQL Server Management Studio . Zde je návod:

  1. Otevřete SQL Server Management Studio .
  2. Rozbalte složku Tabulky databáze, ve které chcete vytvořit omezení.
  3. Klepněte pravým tlačítkem myši na tabulku, do které chcete přidat omezení, a klepněte na tlačítko Návrh .
  4. V nabídce Návrhář tabulky klepněte na položku Rejstříky / klíče .
  5. V dialogovém okně Rejstříky / klíče klepněte na tlačítko Přidat .
  6. Zvolte v rozevíracím seznamu Typ jedinečný klíč .

UNIQUE omezení vs. UNIQUE indexy

Došlo k určitému zmatku ohledně rozdílu mezi podmínkou UNIQUE a indexem UNIQUE. Zatímco můžete použít různé příkazy Transact-SQL k jejich vytvoření (ALTER TABLE ... ADD CONSTRAINT pro omezení a CREATE UNIQUE INDEX pro indexy), mají většinou stejný efekt. Ve skutečnosti, když vytvoříte UNIQUE omezení, ve skutečnosti vytvoří UNIQUE index v tabulce. Je však důležité poznamenat, že existuje několik rozdílů: