Konular
EBooklar

Veri tabanlarında anahtar kavramı birincil ve ikincil anahtar

Anahtar (Key)

Anahtar bir veya birden fazla alanın bir satır için niteleyici olarak girilmesi için tanımlanan özel bir çeşit zorlayıcıdır. Tekrarlamayacak bir anahtar alan tanımlandığında, bu anahtar alana birincil anahtar alan denir. Primary Key, Unique Key ve Foreign Key olmak üzere 3 çeşit anahtar vardır.

Primary Key (Birincil Anahtar) :

Bir tablodaki, her bir satırın yerine vekil olabilecek bir anahtar veridir. Tabloda bu alana ait bilginin tekrarlanmaması gerekir. Standart olarak bir tabloda verilerin, fiziksel hafıza üstünde de hangi alana göre dizileceğini de primary key belirler. Bu, bazen bir tek alan olabileceği gibi, bazen birden fazla alan da birleşerek bir birincil anahtar oluşturabilir. Örneğin programda personelin sicil numarası alanına göre aramalar yapılacaksa Primary key personel
sicil numarası olmalıdır. Personelin ad ve soyadına göre aramalar yapılacaksa ad ve soyad alanları birleştirilerek iki alandan tek anahtar alan tanımlaması yapılır.

Unique Key(Tekil Anahtar):

Unique Key olarak tanımlanan alan için bir değer sadece bir kere girilebilir. Bir başka satıra daha aynı verinin girilmesine izin verilmez. Primary Key ’den farklı olarak Unique Key, NULL (boşluk) değerini alabilir. Örneğin programda her personele ait bir sicil numarası olacağı için bu alan Unique key olarak tanımlanabilir. Ama isim alanı birden fazla aynı isme sahip personel olabileceği için bir Unique key olarak tanımlanamaz. Ali isimli birden fazla personel olabileceği gibi.

Foreign Key (Yabancı Anahtar) :

İkincil anahtarın bir diğer adı yabancı anahtardır.  Bir tabloya girilebilecek değerleri başka bir tablonun belli bir alanında yer alabilecek veri grubu ile sınırlandırmaya ve en önemlisi de ilişkilendirmeye yarar. Yani hem veri tekrarının önüne geçmek, hem de daha sonradan yapılan güncellemelerde ilgili verilerin her yerde güncellenmesini sağlamaktır.  Örneğin, olmayan bir kitabın ödünç tablosuna eklenememesi ve ödünç tablosuna eklenen bir kitabın numarası aracılığıyla detay bilgilerine erişilmesi gibi. Burada Kitap.KitapNo birincil anahtar alan; Odunc.kitapNo ise yabancı anahtardır.
 

Yıldıray KARACA

Yorumunuzu Ekleyin


Yorumlar

  1. ela
    ela
    bir tabloda birden fazla primary key nasıl oluşturabiliriz
    25 Mayıs 2010 18:41:28, Salı Like
  2. Emre
    hakkat nasıl yapacaz onu
    27 Mart 2013 11:28:02, Çarşamba Like
  3. elif
    unique key nasıl null değeri alabilir? her personele ait sicil numarası olduğundan bu alan unique olabılır yazıyor. oysa sıcıl numarası alanı boş geçilemez
    16 Nisan 2013 15:39:10, Salı Like
  4. cem
    cem
    çok güzel açıklamışsın eline sağlık teşekkürler
    02 Kasım 2013 19:27:04, Cumartesi Like
  5. Berna
    Veri tabanı sınavında her 3 anahtarıda tanımladım ve 30 üzerinden 30 aldım :D
    17 Kasım 2013 11:33:11, Pazar Like
  6. Melik
    birden fazla primary key oluşturmanız mümkün değil. primary key her tabloda tektir. birden fazla tanımlamak isterseniz composite key kullanmalısınız.
    07 Ocak 2014 02:24:24, Salı Like
  • Sql Komutları
  • Sql Komutları ~ 83,310

    Sql komutlarından DISTINCT, IN, NOT IN, IN(SELECT...), ANY, ALL, EXISTS, NOT EXISTS, UNION, EXCEPT, BETWEEN kullanımı


  • Veritabanı Nedir?
  • Veritabanı Nedir? ~ 77,516

    Veritabanı basit olarak bilgi depolayan bir yazılımdır. Bir çok yazılım bilgi depolayabilir ama aradaki fark, veritabanın bu bilgiyi verimli ve hizli bir şekilde yönetip degiştirebilmesidir. Veritabanı, bilgi sisteminin kalbidir ve etkili kullanmakla değe...











  • Join İşlemleri
  • Join İşlemleri ~ 25,916

    İlişkisel veritabanının en temelinde birden fazla tablo üstünde birlikte işlem yapabilmek yatar. Bu sayede verilerin tekrarlaması önlenmiş olur ve sonuçta veri yönetimi kolaylaşır.


  • View Oluşturma ~ 24,890

    Sql komutlarından view oluşturma ve faydaları, myadminde gösterimi









  • Sql Komutları ~ 17,709

    Dıstınct, ın, not ın, ınselect..., any, all, exısts, not exısts, unıon, except, between










  • Joinler
  • Joinler ~ 14,684

    Joinler, inner join, left join, right join