Microsoft SQL Server'daki benzersiz kısıtlamalar

Birincil Anahtar Kısıtlamaları Üzerinden UNIQUE Kısıtlamaları Kullanmanın Avantajları

UNIQUE kısıtlaması oluşturarak, SQL Server yöneticileri, bir sütunun yinelenen değerler içeremeyebileceğini belirtir. Yeni bir UNIQUE kısıtlaması oluşturduğunuzda, SQL Server söz konusu sütunu, herhangi bir yinelenen değer içerip içermediğini belirlemek için denetler. Tablo önceden var olan kopyaları içeriyorsa, kısıt oluşturma komutu başarısız olur. Benzer şekilde, bir sütunda UNIQUE kısıtlaması olduğunda, yinelenmelerin oluşmasına neden olacak veriler ekleme veya değiştirme girişimleri de başarısız olur.

Neden UNIQUE Kısıtlamaları Kullanmalı?

Bir UNIQUE kısıtlaması ve bir birincil anahtarın her ikisi de benzersizliği zorunlu kılar, ancak UNIQUE kısıtının daha iyi bir seçim olduğu zamanlar vardır.

BENZERSIZ Bir Kısıtlama Oluşturma

SQL Server'da bir UNIQUE kısıtlaması oluşturabileceğiniz birçok yol vardır. Transact-SQL'i varolan bir tabloya UNIQUE kısıtlaması eklemek istiyorsanız, ALTER TABLE deyimini aşağıda gösterildiği gibi kullanabilirsiniz:

ALTER TABLE ADD CONSTRAINT UNIQUE ()

GUI araçları kullanarak SQL Server ile etkileşimde bulunmayı tercih ederseniz, SQL Server Management Studio'yu kullanarak bir UNIQUE kısıtlaması da oluşturabilirsiniz. İşte nasıl:

  1. SQL Server Management Studio'yu açın.
  2. Kısıtlamayı oluşturmak istediğiniz veritabanının Tablolar klasörünü genişletin.
  3. Kısıtlamayı eklemek istediğiniz tabloyu sağ tıklatın ve Tasarım'ı tıklatın.
  4. Tablo Tasarımcısı menüsünde, Dizinler / Anahtarlar'ı tıklatın.
  5. Dizinler / Anahtarlar iletişim kutusunda, Ekle'yi tıklatın.
  6. Tür açılır listesinde Benzersiz Anahtar'ı seçin.

BENZERSIZ Kısıtlamalar ve BENZERSİZ Dizinler

Bir UNIQUE kısıtlaması ve bir UNIQUE endeksi arasındaki fark hakkında bazı karışıklıklar olmuştur. Oluşturmak için farklı Transact-SQL komutları kullanabilirken (ALTER TABLE… kısıtlamalar için ADD CONSTRAINT ve dizinler için BENZERSİZ DİZİNİ CREATE), çoğunlukla aynı etkiye sahiptir. Aslında, bir UNIQUE kısıtı oluşturduğunuzda, aslında tabloda bir BENZERSİZ dizin oluşturur. Bununla birlikte, bazı farklılıklar olduğuna dikkat etmek önemlidir: