Transaction ve foreign key nedir?

Birol Topuz
May 20, 2019 · 1 min read

Bazı işlemler, birbirlerine olan bağımlılıkları yüzünden, tek bir işlem gibi yapılmalıdır. Eğer işlemlerden birisi yapılamayacaksa, bütün işlem bloğu iptal edilmelidir.

Örneğin web’den satış yapan bir site var diyelim. Bir sipariş alındığında, müşteri hesabına borç yazılmalı, ürün stoktan düşülmeli, paketleme/kargo servisine nakliye emri verilmeli…

Bu işlem bloğu yarıda kalırsa, sorunlu durumlar oluşur. Örneğin müşteriyi borçlandırdık, stoktan ürünü düştük ama nakliye emrini veremedik, bir sebepten dolayi işlem kesildi. O zaman, müşterinin eline geçmeyecek bir ürün için müşteriyi borçlandırmış oluruz.

Nakliye emri aşamasinda bile sorun çıksa, bütün işlem bloğunun iptal edilmesi gerekir.

Bu tip blok işlemleri transaction yardımı ile yapıyoruz. Ya işlem bloğunun tamamı başarı ile sonuçlanır veya herhangi bir aşamadaki aksilikte, bloğa ait bütüm işlemler iptal edilir.

Foreign key (yabancı anahtar), referential integrity (veri tutarlılığı) ve primary key (asıl anahtar) ile ilgili bir olay.

Bu olay bir örnekle daha kolay açıklanabilir. Bir mağazamız olsun. Kayıtlarda, mal aldığımız firmalarin bilgileri ve aldığımız ürünlerle ilgili iki tablo olsun.

Ürünler tablosundaki her ürün, firmalar tablosundaki bir firma ile ilişkilidir (yani ürünün satın alındığı firma ile)

Bu ilişkide, firmalar tablosundaki, firma kodu alanı primary key (asıl anahtar) ve ürünler tablosundaki firma kodu alanı foreign key (yabancı anahtardır)

Bu ilişki nedeniyle, tablolar arasındaki veri tutarsızlıkları, veritabani sunucusu tarafından engellenir. Örneğin

* firma tablosunda kaydı bulunmayan bir firma için ürün bilgisi
girilemez.

* bir firma silindiğinde, ya o firmaya ait büyün ürünler otomatik olarak silinir veya silme işlemi engellenir.

* firma kodu değistiğinde, otomatik olarak ürünler tablosundaki firma kodları da degişir. Böylece firma-ürün ilişkisi kaybedilmemiş olur.

ALINTIDIR : acemi

Birol Topuz

Written by

Yeni ol, önde ol. Eseriniz sizi yansıtsın!

More From Medium

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade