SQL Server Keys(Anahtarlar) Nedir? Neden Kullanılır?

SQL Server Keys, Bir kayıt içerisinde farklılıkları ve nitelikleri gösteren belirleyicilere anahtarlar(keys) denir. Farklı içeriklere sahip olacak verileri tablolarda depolayarak yapabileceğimiz birçok işi kolaylaştırabiliyorduk.

🔑 SQL Server Keys(Anahtarlar) Nedir? Neden Kullanılır?

SQL Server Keys(Anahtarlar) Nedir? ve Neden Kullanılır?

Benzer şekilde tablodaki kayıtları da birbirinden ayırt edebilmek için tablo içindeki alanlara belirli anahtarlar atayarak birçok işlemi kolaylaştırabilmekteyiz.

🔑 Primary Key(Birincil Anahtar)

Bir tablo içerisindeki satırları birbirinden ayırt eder. Birincil anahtar olan bir veri aynı tablo içerisinde tekrarlanamaz. Yine bu alandaki veri boş bırakılamaz, yani NULL değeri alamaz. Tek bir alan birincil anahtar özelliği olabileceği gibi bazı tablolarda birden fazla alanın birleşmesiyle birincil anahtar oluşabilir. Bu aslında az sonra göreceğimiz birleşik anahtardır.

🔑 Unique Key(Tekil Anahtar)

Tablonun tekil anahtar olarak tanımlanmış bir alanına aynı değer sadece bir kez girilebilir. Birincil anahtardan farklı olarak, tabloda bu alana ait sadece bir kayıt NULL değeri alabilir. Birincil anahtar aynı zamanda tek anahtar olarak sayılabilir fakat tek anahtarlar birincil anahtar değildirler.

🔑 Foreign Key(Referans Anahtar)

Tablodaki bir veriyi başka tablodaki bir veri ile ilişkilendirir. İki tablo arasında yapılan bu ilişkilendirme ile referans anahtar olarak tanımlanmış alana sadece ilişkilendirdiği tablonun alanındaki veriler eklenebilir.

🔑 Composite Key(Birleşik Anahtar)

Birden fazla alanın birleştirilmesiyle birincil anahtar görevini üstlenecek tanımlamalar yapılabilir. Bunlar birleşik anahtar olarak adlandırılır.

🔑 Alternate Key(Alternatif Anahtar)

Adından çok net anlaşılabileceği gibi birincil anahtar yerine alternatif olarak kullanılabilen bir anahtar türüdür. Alternatif anahtar birincil anahtar olarak çalışabilen bir anahtar türüdür. Birincil anahtarın olmadığı veya henüze tanımlanmadığı senaryoda alternatif olarak birincil anahtar tanımlana kadar birincil anahtar yerine kullanılabilecek anahtar türüdür. Altta ki görselde Primary key tanımlanana kadar RollNo ve EnrollNo alanları primary key yerine kullanılabilecek alternatif anahtardır.

🔑  Super Key(Süper Anahtar)

Süper anahtar, bir tablodaki bir kaydı benzersiz olarak tanımlamak için kullanılabilen bir veya daha fazla anahtardan oluşan bir settir. Örnek: Birincil anahtar, Benzersiz anahtar, Alternatif anahtar, Süper Anahtarların bir alt kümesidir.

🔑  Candidate Key(Aday Anahtar)

Bir Aday Anahtar, tablodaki bir kaydı benzersiz olarak tanımlayabilen bir veya daha fazla alan / sütun kümesidir. Bir tabloda birden fazla Aday Anahtar olabilir. Her Aday Anahtar, Birincil Anahtar olarak çalışabilir.

Örnek: Aşağıdaki diyagramda, RollNo ve EnrollNo, bu üç alanın tümü Birincil Anahtar olarak çalışabileceğinden Aday Anahtarlardır.

🔑  Composite/Compound Key Key(Bileşik Anahtar)

Bileşik Anahtar, bir tablonun birden fazla alanı / sütununun birleşimidir. Bir Aday anahtar, Birincil anahtar olabilir.


Tüm anahtarların veriler üzerinden resminin çizilmesi gibi bir ihtiyaç varsa sırf daha iyi anlayabilmek için. O zaman alttaki görselin tam olarak ihtiyacı karşılayabileceğini düşünüyorum.

Kod üzerinden örnek primary key, unique key ve foreign key tanımlarının nasıl yapılabildiğini alttaki örnek kod bloğundan görebilirsiniz.

📝 SQL Server Keys Özeti

Sql Server tarafında kullanılabilecek anahtar çeşitlerini gördük, veriler üzerinden anahtar çeşitlerini resmetmeye ve daha anlaşılır olmasını sağladık. Ardından sql script’i tarafında 3 farklı anahtar türünün nasıl tanımlanabildiğini örnek kod üzerinden göstermeye çalıştık. Umarım faydalı olmuş ve konunun anlaşılması sonucuda ulaşabilmişizdir. Anlaşılmayan her türlü konu için iletişimde kalmak çok faydalı olacaktır. O yüzden yorum kısmından olumlu/olumsuz geri bildirimlerinizden mahrum bırakmayınız 😊


📚 SQL Server Keys Benzeri Konular


Lütfen olumlu-olumsuz tüm görüşlerinizi bana yorum yada mail yolu ile iletmeyi ihmal etmeyin.

🔗 Sosyal medya kanallarından makaleyi paylaşarak destek olursanız çok sevinirim.

👋 Bir sonraki makalede görüşmek dileğiyle.

5/5 - (4 votes)

Murat Öner sitesinden daha fazla şey keşfedin

Okumaya devam etmek ve tüm arşive erişim kazanmak için hemen abone olun.

Okumaya devam et