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 + 6 Yorum

  • ela
  • ela 25 Mayıs 2010 18:41:28, Salı
    bir tabloda birden fazla primary key nasıl oluşturabiliriz
  • Emre
  • Emre 27 Mart 2013 11:28:02, Çarşamba
    hakkat nasıl yapacaz onu
  • elif
  • elif 16 Nisan 2013 15:39:10, Salı
    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
  • cem
  • cem 02 Kasım 2013 19:27:04, Cumartesi
    çok güzel açıklamışsın eline sağlık teşekkürler
  • Berna
  • Berna 17 Kasım 2013 11:33:11, Pazar
    Veri tabanı sınavında her 3 anahtarıda tanımladım ve 30 üzerinden 30 aldım :D
  • Melik
  • Melik 07 Ocak 2014 02:24:24, Salı
    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.
  • Sql Komutları
  • Sql Komutları ~ 79,563

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


  • Veritabanı Nedir?
  • Veritabanı Nedir? ~ 70,876

    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 ~ 24,394

    İ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 ~ 23,519

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









  • Sql Komutları ~ 16,774

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










  • Joinler
  • Joinler ~ 13,775

    Joinler, inner join, left join, right join