SQL Unique Nedir? Oluşturma ve Kullanımı

Yazıda SQL Unique nedir ile UNIQUE Constraint key anlatılmış MySQL, SQL Server, Oracle vb. sistemler için SQL ile unique oluşturma ve kullanımı ile ilgili bilgi verilmiştir.

UNIQUE nedir?

SQL içerisinde kullanılan Unique kelimesini benzersiz, eşsiz, tek olarak çevirebiliriz.

Unique SQL içerisinde kullanılan kısıtlamalardan biridir.

Tablodaki herhangi bir sütuna Unique kısıtlaması eklenerek, benzer değerlerin eklenmesi engellenir.

Unique kısıtlamasına örnek olarak günlük hayatta çokça kullanılan kimlik numaraları ve sıra numaraları verilebilir.

Herkese farklı bir kimlik numarası verilerek adı ve soyadı aynı olsa bile kişiler birbirinden ayırt edilir.

Özetle; Unique key kısıtlaması her bir verinin birbirinden farklı olmasını sağlar.

UNIQUE key oluşturma

Unique veri tabanı tasarımı sırasında tablo oluşturma veya daha sonra ihtiyaç halinde bir tabloya eklenebilir.

Veri tabanı tasarımı sırasında eklemek faydalı olacaktır.

Unique key oluşturma – 1

CREATE TABLE kisiler (
  kisi_sira INT UNIQUE,
  kisi_adi VARCHAR(20),
  kisi_soyadi VARCHAR(30),
  kisi_eposta VARCHAR(50)
);

Unique key oluşturma – 2

CREATE TABLE kisiler (
  kisi_sira INT,
  kisi_adi VARCHAR(20),
  kisi_soyadi VARCHAR(20),
  kisi_eposta VARCHAR(50),
  CONSTRAINT UK_sira UNIQUE(kisi_sira)
);

Unique kısıtlaması birden fazla sütunda beraber kullanılabilir.

Unique key oluşturma – 3

CREATE TABLE kisiler (
  kisi_sira INT,
  kisi_adi VARCHAR(20),
  kisi_soyadi VARCHAR(20),
  kisi_eposta VARCHAR(50),
  CONSTRAINT UK_sira_eposta UNIQUE(kisi_sira, kisi_eposta)
);

Yukarıdaki kullanımda kisi_sira sütunu ve kisi_eposta sütunu değeri 1 ve yusufsezer@mail.com olan bir kayıt varken değerleri 1 ve ben@yusufsezer.com.tr olan kayıt eklenecektir.

Ancak kisi_sira değeri 1 ve kisi_eposta değeri yusufsezer@mail.com olan bir değer eklenmeyecektir.

Unique kısıtlaması birden fazla sütun için ayrı ayrı da kullanılabilir.

Unique key oluşturma – 4

CREATE TABLE kisiler (
  kisi_sira INT UNIQUE,
  kisi_adi VARCHAR(20),
  kisi_soyadi VARCHAR(30),
  kisi_eposta VARCHAR(50) UNIQUE
);

Veya

Unique key oluşturma – 5

CREATE TABLE kisiler (
  kisi_sira INT,
  kisi_adi VARCHAR(20),
  kisi_soyadi VARCHAR(20),
  kisi_eposta VARCHAR(50),
  CONSTRAINT UK_sira UNIQUE(kisi_sira), 
  CONSTRAINT UK_eposta UNIQUE(kisi_eposta)
);

Ayrı ayrı unique kullanımında her sütun diğer unique sütunundan bağımsız çalışır.

Unique kısıtlaması kullanımı veri tekrarını azaltacağı için kullanılması faydalı olacaktır.

Hayırlı günler dilerim.

Yusuf SEZER

Yusuf SEZER

Computer Engineer who interested about web technologies, algorithms, artificial intelligence and embedded systems; constantly exploring new technologies.


Bunlara'da bakmalısın!