SQL Unique Constraint Kullanımı

MS-SQL’de oluşturmuş olduğumuz tablolar içinde yer alan her bir kolonda eşsiz şekilde, yani benzersiz birbirinden farklı veriler bulunmasını isteyebiliriz. Bunun için UNIQUE deyimini kullanırız. Aynı Primary Key mantığı gibi çalışmaktadır ama primary keyden tek farkı unique kolonlar NULL veriler de içerebilir. Primary Key kolonlarda mutlaka veri olmalıdır. Tek bir kolona UNIQUE kısıtlaması verilebildiği gibi, birden fazla kolona da UNIQUE kısıtlaması verebiliriz. Ayrıca tablolarımızı oluştururken UNIQUE kısıtlaması yapabildiğimiz gibi, daha sonradan var olan tablolar üzerinde de UNIQUE kısıtlaması yapabiliriz. Aşağıda örnek syntaxları veriyorum.

CREATE TABLE Ogrenci
(ad VARCHAR(20),
Soyad VARCHAR(20),
UNIQUE (Ad)
)

Ögrenci tablosuna adı, soyadı “ferdi yılmaz” olan bir veri Insert ettiğimde ilk seferinde ekliyor.

Fakat ad kolonuna sadece Unique tanımı yaptığımız için, ikinci kez aynı ismi Insert etmeye çalıştığımızda aşağıdaki hata ile karşılaşıyoruz. Duplicate kayda izin vermiyor.

CREATE TABLE Ogrenci
(
Ad VARCHAR(20),
Soyad VARCHAR (20)
CONSTRAINT Ogrenciler UNIQUE (Ad, Soyad)
)

Yukarıda oluşturdurğumuz öğrenci tablosunda hem ad, hemde soyad kolonlarına Unique Constraint tanımladık. Birinci kayıdımızı Insert ettiğimizde sorunsuz şekilde eklenecektir. Tabloda veri bulunmamaktadır.

2. Kayıdımızda soyisim farklı olduğu için hata olmadan Ogrenci tablomuza veri ekleme işlemi yapılacaktır.

3.Kez veri ekleme yaparken hem adı, hemde soyadı aynı olan bir Insert işlemi sırasında sistemde aynı isim ve soyisme sahip bir kayıt olduğunu belirten hata mesajını almış olacağız.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir