Serkan Ayyıldız

Meraklı bir yazılım uzmanı...

SQL Unique Key

Yeniden merhabalar :)

SQL derslerimize devam ederken veritabanında benzersiz değer girmemize olanak tanıyan "Unique Key" kavramını bugünkü dersimizde işleyeceğiz.

Unique Key adından da anlaşılacağı gibi eşi benzeri olmayan verileri veritabanında saklamamıza olanak sağlar ve bu kavram bir "key" yani anahtar yapısı olduğu için tablodaki herhangi bir kolona girilen verilerin aynısının tekrar girilmesini önler.
Unique olacak tablo kolonunun bit gibi ikili veri tipleri dışındaki tüm kolonlara uygulanabilir,dolayısıyla int ve string türevi tüm kolonlara "benzersiz" özniteliği belirtebiliriz.Özellikle TC kimlik numarası gibi her bireye mahsus olarak atanmış ve bir başkasının sahip olamayacağı verileri saklayan yapılarda mükemmel denilebilecek bir özellik diyebiliriz :)

Aşağıda bir önceki dersimizde işlediğimiz BakkalDB veritabanımızın son halini görüyoruz:

Veritabanı

Az önce dediğim gibi unique key,kimlik numarası gibi benzersiz bilgiler için kullanılır ve biz de örnek veritabanımızda yeni bir SQL tablosu oluşturup tablodaki bir kolonu benzersiz hale getireceğiz.

Şimdi Musteriler isminde bir tablo oluşturalım:

SQL

Gerekli kolonları oluşturduktan sonra şimdi "TCNo" kolonumuzu unique hale getirelim.

Kolonumuza sağ tıklayıp Indexes/Keys seçeneğine tıklıyoruz:

SQL-Unique-Key

Açılan pencerede soldaki "Add" butonuna tıklıyoruz:

Unique-Key

Ardından üst kısımda "IX_Musteriler" yazısı belirecektir,henüz bir kayıt işlemi yapmadığımız için yıldız logosu belirir:

Unique-Key-Kolon

Oluşturduğumuz "IX_Musteriler" seçimine tıkladıktan sonra sağ kısımda kırmızı işaretle gösterdiğim seçim penceresi iletişim butonuna tıklarız:

Unique-Key-Tablo

Açılan bu pencerede kolon listesinden TCNo yu seçeriz:

SQL-Tablo

Pencereyi kapattıktan sonra önceki pencereye döneriz ve sarı renklerle gösterdiğim "IsUnique" seçiminin karşısındaki seçim öğesini "Yes" olarak belirtiriz:

SQL-Unique-Column

Artık kolonumuz unique biçimindedir ve içerisine gireceğimiz veri daha önceden girilmişse uyarı penceresiyle karşılaşacağız.

Son olarak TCNo kolonunu nchar(11) veri tipinde yazmamın sebebi bildiğiniz gibi 11 rakamdan oluşmaktadır ve bu oluşan rakam içerisinde harfler daha doğrusu Türkçe karakterler olmadığı için nvarchar yerine nchar'ı tercih ettik; ya da int tipinde de bu 11 rakamı tutabilirdik ancak böylesine büyük bir değeri sayısal tutmak yerine metin tipinde tutmak daha makul olacaktır.

Unique key ile ilgili bu makalemizde henüz örnek veremiyorum çünkü veritabanı tasarımlarımız bittiğinde SQL sorgularına geçeceğimiz gün konuyu daha rahat kavrayacağınızı umuyorum,şimdilik hoşçakalın esen kalın. :)

5 Yorum:

  1. kamil
    7/13/2013

    hocam lütfen derslerinize devam edin çok yararlı bilgi sunuyorsunuz. sizi takip ediyoruz. bakkal defterini yavaş yavaş geliştirerek güzel birşey ortaya çıkaracağınızı bekliyor şimdiden sabırsızlanıyoruz. iyi çalışmalar

  2. Serkan Çamur
    7/18/2013

    Merhabalar Kamil Bey, Adım adım oluşturduğumuz bu veritabanımız üzerinden ilerleyen derslerimizde de faydalanıp ileri SQL uygulamaları gerçekleştireceğiz.

  3. Zeynep
    7/18/2013

    Merhaba; Hocam Kamil Bey'in de rica ettiği üzere; ben de derslerinize devam etmenizi diliyorum. İlgi ile makalelerinizi takip ediyorum. Bu zamanda sizin gibi bilgileri ile, biz bu işlere yeni başlayan öğrencilere yardımcı olabilen erdemli insanlar bulamamaktayız. Tekrar verdiğiniz yararlı bilgiler için teşekkür ediyorum.

  4. kamil
    7/22/2013

    devamı nezaman geliyor

  5. Serkan Çamur
    7/22/2013

    Bu hafta içerisinde yeni bir sql makalesi yazacağım,teşekkürler ilginize.

Bir yorum bırak E-posta adresiniz yayınlanmayacaktır.

Menu