Veritabanı kavramlarından Transaction nedir?

soruldu: 20 Şub '12, 10:45

ersince76's gravatar image

ersince76
186192327
cevap kabul oranı: 0%


Transaction, bir veritabanı üzerinde gerçekleştirilen bir dizi operasyonu(select,insert,update,delete) sarmalayan mekanizmanın adıdır. Bu mekanizma söz konusu operasyon/operasyonları belirlenen kural/kurallar sağlanmış ise uygular, kalıcı hale getirir yani veritabanına yazar(commit).

Eğer kural/kurallar sağlanmamış ise gerçekleştirilmek istenen operasyonları iptal eder. Yani veritabanı, bu operasyonlar öncesi durumunu korur(rollback).

Transaction mekanizması commit ve rollback işlemlerinin gerçekleştirimini garanti eder, böylece çalışma zamanında bir dizi işlem içinde örneğin 1 ve 3. adımlar gerçekleşmiş iken, 2. adımın gerçekleşmemesi gibi bir hata meydana geldiğinde oluşabilecek veri kayıplarını önler, aynı şekilde 3 adımda sorunsuz gerçekleşmiş ise verinin veritabanına yazılmasını garanti eder.

Bir senaryo:

x hesabında bakiye kontrolü yap

x hesabında havale tutarından fazla yada bu tutar kadar bakiye varsa, havale tutarını hesaptan düş

x hesabından düşülen havale tutarını y hesabına yaz

Yukarıdaki senaryoda 3. adımda çalışma zamanında bir sorun çıktığını düşünelim. Bu durumda x hesabından havale tutarı düşmüş olmasına rağmen, bu tutar y hesabına transfer edilememiştir.

İşte transaction mekanizması bu tür durumlarda her 3 adımın aynı anda sorunsuz çalışmaması halinde, veritabanını 1. adım öncesi durumunda korumayı sağlar. Her 3 adım sorunsuz çalıştığında ise 3 işlemin sonucunu veritabanına yazmayı garanti eder...

permanent link
Bu kayıt wiki sayfası olarak tanımlanmıştır.

cevaplandı: 20 Şub '12, 13:37

hakdogan's gravatar image

hakdogan
2.1k31926
cevap kabul oranı: 43%

değiştirildi: 20 Şub '12, 13:40

Bazen birden çok işlemin tamamen gerçekleşmesini isteyebiliriz. Bizim birlikte ele alınmasını istediğimiz isteklerin bütününün "Ya hep yada hiç" prensibiyle ele alınmasıdır. Eğer ki isteklerimizden herhangi birinde bir sorun meydana gelirse tüm işlemlerimiz iptal edilir. Transaction kullanımı bu işe sağlar.

permanent link

cevaplandı: 20 Şub '12, 13:14

mimaraslan's gravatar image

mimaraslan
2.2k6810794
cevap kabul oranı: 25%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×7

Soruldu: 20 Şub '12, 10:45

Görüntüleme: 8,092 kez

Son güncelleme: 20 Şub '12, 13:40

powered by BitNami OSQA