SQL Veritabanında Birincil Anahtar: Nedir, Avantajları ve Nasıl Seçilir

Yayınlanan: 2021-05-25

İçindekiler

Birincil anahtar nedir?

SQL'de yeni bir veritabanı tasarlamak, benzersiz seçeneklerin payıyla birlikte gelir. Uygun bir birincil anahtar belirlemek, vermeniz gereken en kritik kararlardan biridir. Birincil anahtarın altında yatan amaç basit ve anlaşılırdır.

Birincil anahtar, iki yönlü bir temel rol oynar. Birincisi, bir ilişkiyi tanımlamaya yardımcı olur. İkincisi, bu ilişkinin uygulanmasına yardımcı olur. Başka bir deyişle, birincil anahtar olmadan ilişki veritabanları olmazdı. Anlaşılır bir şekilde, birincil anahtar kavramı kulağa alışılmadık geliyor.

Peki ya günlük yaşamınızda farkında olmadan birincil anahtarları kullandığınızı söylesek? Günümüzün her uyanma anında, kelimenin tam anlamıyla bir veritabanı dünyasında birincil anahtarlarla çevriliyiz ve yine de onları olduğu gibi kabul ediyoruz. Örneğin, öğrenci kimliğinizi düşünün. Birincil anahtar ihtiyacının klasik bir örneğidir. Benzer şekilde, her çalışanın benzersiz bir şirket kodu vardır ve dünyadaki her ülkenin benzersiz bir adı ve kodu vardır.

Okuyun: SQL'de Normalleştirme

Birincil anahtarın avantajları nelerdir?

SQL'de birincil anahtar, tekil bir değer veya bir tablodaki birkaç değerin birleşimi olarak tanımlanır. Tablodaki her kaydı belirgin bir şekilde temsil eder. Bu değere erişim, aynı kayıttaki diğer değerlere ek olarak ilgili kaydın tabloya yerleştirilmesine zamanında erişimi garanti eder. Bu noktada, gündeme getirmeniz gereken önemli bir sorunuz olabilir. Her tabloda bir birincil anahtar oluşturmak zorunlu mu? Kesinlikle hayır.

SQL, birincil anahtarın oluşturulmasını gerektirmez. Ancak, en iyi ve en verimli veritabanı modelleme uygulamaları, SQL'deki her tablo için bir birincil anahtar oluşturulmasını şiddetle tavsiye eder. Tablolar arasında ortak bir bağlantı alanı olmasının yanı sıra, birincil anahtarın avantajları çok yönlüdür.

Aşağıdaki liste, birincil anahtarın ana avantajlarını özetlemektedir:

  1. Birincil anahtar bir dizin görevi gördüğünden, kayıtları sıralama ve arama gibi hıza dayalı veritabanı işlemleri daha hızlı hale gelir.
  2. Birincil anahtar, belirli bir veritabanı tablosundaki benzersiz satırları hızlı bir şekilde tanımlamaya ve bulmaya yardımcı olur.
  3. Güvenli modda, güncellemelerin ve silmenin daha büyük hacimli veriler yerine yalnızca belirli satırları etkilemesini sağlamak için birincil anahtar kullanılarak yalnızca belirli kayıtlar benzersiz bir şekilde tanımlanabilir.
  4. Veritabanındaki diğer tablolarda yabancı anahtarlar olarak kullanıldıklarında, bilgi bütünlüğünün korunmasına yardımcı olurlar.

Birincil anahtar nasıl seçilir?

Tablolar, bir SQL veritabanındaki ana nesneleri içerir. Bu tablolar, verileri kayıtlar veya satırlar olarak depolar. Bu nedenle, bir tablonun her satırını tanımlamak için, aynı tabloda her satır için farklı bir girdi değerine sahip bir sütun bulmamız gerekir. Örneğin, her ABD vatandaşının verilerini içeren bir tablomuz olduğunu varsayalım. 'social_security_number' adındaki bir sütun, böyle bir tabloda bir satırı diğerinden ayırmaya yardımcı olur.

Benzer şekilde, başka bir örneği ele alalım. Diyelim ki özel bir bankada tasarruf hesapları tablomuz var. 'account_number' adındaki sütun, bu tablodaki belirli satırları benzersiz bir şekilde tanımlamak için kullanılabilir.

Her iki örnekte de, tablodaki her satır için farklı bir değere sahip bir sütun tanımladığınızda, yani 'social_security_number' ve 'account_number', birincil anahtarınızı oluşturabilirsiniz. Bu birincil anahtar, tanımladığınız belirli sütuna dayalı olarak, tablodaki her satır için ana tanımlayıcınız olacaktır.

Örnek bir veritabanı tasarımının işareti, bu nedenle SQL'deki birincil anahtardır. Bu nedenle, seçilen bir birincil anahtarın %100 benzersiz olması gerektiğini ve her veri satırı için birincil anahtarın benzersiz bir değerinin olması gerektiğini söylemeye gerek yok. Tipik olarak, bireyler benzersiz bir tanımlayıcı oluşturmak için veritabanı yönetim sisteminin kendisine güvenme eğilimi gösterirler.

Güçlü bir birincil anahtarın özellikleri şunlardır:

  1. Güçlü bir birincil anahtarın uzunluğu genellikle kısadır, kompakttır ve mümkün olan en az özniteliği içerir. Uzun veri türleri ve bileşik anahtarlar, SQL'e karmaşıklık katar. Birincil anahtar uzunluğu 900 baytı geçmemelidir.
  2. Tamamen sayısal olan birincil anahtarlar, sorgu performansını artırmaya yardımcı olur.
  3. Özel karakterlerin veya büyük ve küçük harflerin bir arada kullanılmasından kaçının. SQL'in dize değerlerini karşılaştırması sayısal değerlerden önemli ölçüde daha uzun sürdüğü için metin veri türlerini kullanmaktan kaçının.
  4. Posta kodları, e-posta adresleri ve sosyal güvenlik numaraları gibi aynı satırdaki anahtar olmayan sütunlardan gelen tanımlanabilir bilgilerden kaçının. Birincil anahtar gerçek dünya verilerine dayanıyorsa, gelecekte bir noktada değiştirilmesi gerekebilir, bu da tavsiye edilmeyen bir modelleme uygulamasıdır. Birincil anahtarlar rastgele tanımlayıcılarsa, kullanıcıya görüntülenen veriler daha sonra değişebilir, ancak tanımlayıcıların değişmesi gerekmez.
  5. Birincil anahtar değeri sabit kalmalı ve değiştirilmemelidir.

Birincil anahtarların, her satırın birincil anahtar sütununda benzersiz, boş olmayan bir değere sahip olmasını sağlamak için teknik bir mekanizma kullandığına dikkat etmek zorunludur. Bu, bir kaydın birincil anahtar değerinin boş olamayacağı anlamına gelir. Ayrıca, kopyası birincil anahtar sütununda bulunabilecek bir değere sahip yeni bir tane eklemeye çalıştığınızı varsayalım. Bu durumda, yeni satırın eklenmesi birincil anahtar tarafından reddedilecektir.

Ödeme: SQL Projesi Fikirleri ve Konuları

Birden Fazla Sütunlu Birincil Anahtarlar

Bazı durumlarda, tek sütunlu doğal bir birincil anahtar yoktur. Birincil anahtarı tanımlamak için birden çok sütun kullanıldığında, çok sütunlu veya bileşik birincil anahtar olarak bilinir. Örneğin, 'customer_name', 'reservation_day', 'reservation_time' ve 'number_of_people' sütunlarını içeren bir 'rezervasyon' tablomuz olduğunu varsayalım.

Burada, 'müşteri_adı' tek başına birincil anahtar olarak kullanılamaz, çünkü doğal olarak müşterinin farklı günler veya hatta aynı gün için birden fazla rezervasyonu olabilir. Bu nedenle, kombinasyonu her değer için benzersiz kılmak için birincil anahtara 'reservation_day' ve 'reservation_time' ekliyoruz.

Bu değerlendirme 32 sütunu geçmemelidir. Sütun sayısı arttıkça, depolama alanı gereksinimi de artar. Çok sütunlu birincil anahtar ekleme sözdizimi, tek sütunlu birincil anahtar eklemekten farklıdır.

Dünyanın En İyi Üniversitelerinden Online Yazılım Mühendisliği Kursları öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Özetliyor

Hiç müşteri hizmetlerini arayıp müşteri numaranız istendi mi? Posta kodunuzu veya telefon numaranızı istediklerinde unutmuş olabilirsiniz.

Nedenini hiç merak ettiniz mi? Eh, kısa cevap birincil anahtarlardır. Uzun cevap, birincil anahtarın avantajlarının tüm veritabanı sistemlerinin başlangıç ​​noktası olmasıdır. Birincil anahtarlar olmadan veritabanları şu anda çalıştıkları gibi çalışmaz veya daha kesin olmak gerekirse hiç çalışmaz.

SQL, full-stack geliştirme hakkında bilgi edinmek istiyorsanız, çalışan profesyoneller için oluşturulan ve 10'dan fazla vaka çalışması ve proje, pratik uygulamalı atölyeler sunan IIIT-B & upGrad'ın Full Stack Yazılım Geliştirmede Executive PG Programına göz atın. endüstri uzmanlarıyla mentorluk, endüstri danışmanlarıyla 1'e 1, en iyi firmalarla 400+ saat öğrenim ve iş yardımı.

SQL'de birincil anahtarlar nelerdir?

Birincil anahtar, bir varlığın kimliğini tanımlamak için kullanılan benzersiz değerlere sahip alandır. Birincil anahtar tanımlandıktan sonra silinemez veya değiştirilemez. Aslında, birincil anahtar, tablonun ilişkilerinin temeli haline gelen tablonun özel bir özelliğidir. Birincil anahtar her zaman bir tablonun değiştirilemeyen ilk sütununda tanımlanır. Verilerin mantıksal ve fiziksel kayıt yapısında çok önemli bir role sahiptir. Birincil anahtar, kayıtları benzersiz bir şekilde tanımlamak için kullanıldığından, aday anahtarlar olarak adlandırılır.

SQL'de birincil anahtarın özellikleri nelerdir?

Birincil anahtar, bir tablodaki her kaydı benzersiz şekilde tanımlayan bir sütun veya bir sütun grubudur. Bir tablonun yalnızca bir birincil anahtarı olabilir. Bütünlüğü korumak için birincil anahtar her zaman gereklidir. Birincil anahtar, birbirinden farklı sütunların birleşiminden oluşmalıdır. Birincil anahtar yalnızca bir sütundan oluşuyorsa, basit birincil anahtar olarak bilinir. Veritabanı motoru, bir veritabanındaki bir kaydı bulmak ve güncellemek için birincil anahtarı kullanır. Null, tanımlanmamış veya bilinmeyen anlamına geldiğinden, birincil anahtar Null olamaz. Birincil anahtar, Tek sütunlu veya çok sütunlu olabilir. Birincil anahtar değerleri benzersiz olabilir veya benzersiz olmayabilir. Birincil anahtarın indekslenebilme özelliği vardır. Birincil anahtar, veritabanı motorunun tablo bütünlüğünü korumasına yardımcı olur. Birincil anahtar, veritabanında kolayca tanımlanabilir.

SQL'de birincil anahtar nasıl seçilir?

Birincil anahtar, bir tablodaki en önemli sütundur. Bunlar, uygulamalarınız tarafından her kaydı benzersiz şekilde tanımlamak için kullanılan kimliklerdir. Birincil anahtar olarak seçtiğiniz alan benzersiz olmalı ve boş olmamalıdır. Birincil anahtarlar, genellikle indeksleme için en iyi aday sütunlardır. Birincil anahtar aşağıdakiler için kullanılır: Tablodaki her kayıt için benzersiz referans, verileri zaten sahip olduğunuz bir kaydın kimliğini aramak, her satırın birincil anahtarda geçerli bir değere sahip olduğundan emin olmak. Tablodaki verilerin geçerli ve tutarlı kalmasını sağlamak için tüm birincil anahtar değerlerinin benzersiz olduğundan ve hiçbir birincil anahtar değerinin boş olmadığından emin olun.