SQL Server Foreign Key Constraint Kullanımı

SQL Server Foreign Key Constraint Kullanımı

Herkese merhaba,

Bu yazıda sizlere SQL Server’da Foreign Key Constraint kullanımından bahsedeceğim.

SQL Server’da Foreign Key Constraintler bir tablodaki sütun değerinin, ilişkili olduğu başka bir tablodaki sütun değerinden geldiğini doğrulamak için kullanılan bir kısıtlamadır. Konu hakkındaki örneği aşağıda görebilirsiniz.


Burada Musteriler diye bir tablomuz mevcut. Müşterilerimizin siparişilerinin tutulacağı Siparisler diye bir tablo daha oluşturuyoruz. Siparişler tablomuzu oluştururken Foreign Key alanı olarak MusteriID kısmını referans alıyoruz. Yani Siparisler kısmındaki MusteriID alanını Musteriler tablosundaki MusteriID alanına referans ediyoruz. En başta da Constrait diyoruz ve sonrasında bu Constraint’in adını belirtiyoruz. İşlemi şöyle düşünebiliriz. Tablolarımıza veri eklerken ilk olarak Musteriler tablosuna veri eklememiz gerekli. Neden ilk buraya veri eklememiz gerekli? Çünkü müşterimiz olmadan herhangi bir siparişimizin olması mümkün değil. Zaten veri ekleme yapınca da sizden Musteriler tablosunda tutulan bir MusteriID değeri isteyecektir. Eğer Musteriler tablosunda olmayan rastgele bir değer girerseniz yine bir uyarı alacaksınız. İlişkiyi SQL Server’da diyagram olarak aşağıdaki şekilde görebilirsiniz.

Görüldüğü üzere ana tablomuz Musteriler tablosudur.

İki tablo arasındaki Foreign Key alanını kaldırmak için ise aşağıdaki kodu yazıyoruz.


Diyagramda sonucu aşağıdaki gibi görebiliriz.

Görüldüğü üzere aralarında herhangi bir ilişki kalmamıştır.

Siparişler tablosuna Foreign Key tanımlaması yapmak için aşağıdaki kodu yazmalıyız.


Burada Siparisler tablosundaki MusteriID ile Musteriler tablosundaki MusteriID alanını kullanarak bir foreign key tanımlaması yaptık. Dikkat edilmesi gereken nokta ise işlemi daha önce oluşturulmuş iki tablo üzerinde yaptığımız. Bundan dolayı ALTER TABLE ifadesini kullandık.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

SQL Server tarafında kendini ilerletmeye çalışırken bildiklerini sürekli başkalarına aktaran, yazılım dünyasında (C#, Java, Python vb.) kendini güncel tutmaya çalışan, araştırma yapmaktan bıkmayan, meraklı, bilginin üzerine bilgi katmaktan mutluluk duyan bir yazılım eğitmeni ve kod sever. – Grafik tasarım dünyasında Indesign’ı anlatacak kadar iyi kullanabilen, Photoshop ve Illustrator’e de orta düzey hakimiyeti bulunan, internet üzerinde online kimya dergisi kurmuş ve bunu yüzbinlerce kişiye ulaştırmayı başaran bir grafik sever. -WordPress tarafında 5 adet web sitesi kurmuş, bu sistemler üzerine çalışan bir WordPress sever. -Sosyal medya üzerinde okumalara ve araştırmalara devam eden, kendi kurmuş olduğu kimya dergisini daha çok kişiye nasıl ulaştırırım diye düşünen ve bu konuda SEO çalışmaları üzerine kafa yoran bir Sosyal Medya sever. Kısaca çok çalışmayı seven, azimli biriyim.

Yazıyı Oylayın

0/50 ratings

Yazıyı Paylaşın

SQL Server Eğitimleri Kanalına Abone Olun

İlişkili Yazılar

Kimler Neler Demiş?

avatar
 
smilegrinwinkmrgreenneutraltwistedarrowshockunamusedcooleviloopsrazzrollcryeeklolmadsadexclamationquestionideahmmbegwhewchucklesillyenvyshutmouth
  Subscribe  
Bildir