• Sonuç bulunamadı

EBP 242 Veri Tabanı II

N/A
N/A
Protected

Academic year: 2021

Share "EBP 242 Veri Tabanı II"

Copied!
13
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

EBP 242 Veri Tabanı II

T R A N S A C T I O N İ Ş L E M L E R İ N İ N G E N E L YA P I S I

(2)

Transaction İşlemlerinin Genel Yapısı

TRANSACTION BAŞLA SQL İfadeleri ROLLBACK COMMIT Hata Varsa Hata Yoksa

(3)

SAVEPOINT

Uzun transaction işlemleri için transaction kendi içerisinde savepoint adı verilen küçük bölümlere ayrılabilir. Her bir bölüm commit ile veritabanına transfer edilebilir veya rollback ile yapılan

değişiklik geri alınabilir.

MSSQL için  SAVE TRANSACTION savepoint_ismi ORACLE için  SAVEPOINT savepoint_ismi

(4)

Oluşturulan Savepoint’in Kullanımı

Oluşturulan savepointleri kullanmak için COMMIT ve ROLLBACK ifadeleri kullanılır.

Oluşturulan savepoint veritabanına aktarılacaksa COMMIT ile, geri alınacaksa ROLLBACK ile birlikte kullanılır.

MSSQL Server için;

COMMIT TRANSACTION savepoint_ismi ROLLBACK TRANSACTION savepoint_ismi

Oracle ve MySQL için;

COMMIT savepoint_ismi

(5)

Transaction ve Savepoint İşleminin Örnek Çalışma Şekli

TRANSACTION BAŞLA SQL İfadeleri Hata Varsa Hata Yoksa SAVEPOINT A ROLLBACK A SAVEPOINT B SQL İfadeleri Hata Yoksa COMMIT Hata Varsa ROLLBACK B

Transaction işlemi başladığında herhangi bir değişiklik yapmadan önceki durumu A noktası olarak belirlenmiştir.

Daha sonra istenilen SQL ifadeleri kullanılır ve herhangi bir hata oluşursa veriler A noktasındaki duruma geri döner, hata oluşmazsa yapılan ilk değişiklikleri de içeren veri durumu B noktası olarak belirlenir.

İkinci bölümdeki SQL ifadeleri kullanılır ve herhangi bir hata oluşursa bundan önceki durum olan B noktasına geri dönülür. Yani ilk bölümde yapılan değişiklikler geçerliliğini korumuş olur. Eğer hata olmazsa yapılan değişikliklerin tamamı veritabanına aktarılır.

(6)

Örnek

KITAPLAR tablosu için örnek bir transaction işlemi verilmiştir. Verilen kodlar içerisindeki ROLLBACK ve ROLLBACK savepoint işlemleri hata denetimi yapılmadan gerçekleştirilmiştir. İlerleyen konularda hata denetimli örnekler verilecektir.

BEGIN TRANSACTION

SAVE TRANSACTION deneme

UPDATE kitaplar SET s_sayisi=0 SELECT * FROM KİTAPLAR

ROLLBACK TRANSACTION deneme

SELECT * FROM KİTAPLAR

UPDATE KİTAPLAR SET kitapadi='Deneme' SELECT * FROM KİTAPLAR

ROLLBACK

(7)
(8)
(9)
(10)
(11)
(12)

Transaction’ların tek başlarına kullanımı çok fazla avantaj sağlamamaktadır.

Stored Procedure programlama ifadeleri(T-SQL, PL/SQL) ile kullanılarak çok daha verimli hale getirilebilir, hata denetimleri gerçekleştirilebilir.

(13)

Ders Notu Hazırlanırken Kullanılan Kaynaklar

Ramakrishnan, R. and Gehrke J., Database Management Systems (Third Edition), WCB/McGraw Hill, ISBN: 0-07-232206-3

Veritabanı Yönetim Sistemleri II (2019)., ÖZSEVEN TURGUT, Ekin Yayınevi, Sayfa Sayısı: 351, Türkçe(Ders Kitabı), (Yayın No: 32619)

Referanslar

Benzer Belgeler

Aktarılan veride oluşan tek sayıda hatayı sezmek için kullanılır.Amaç ,verideki birlerin sayısını tek ya da çift olacak şekilde

• 1-Önlemeye yönelik Poka-Yoke ( Önleme) ; hata olmadan önce uygun yöntemlerle hata olanağını farketmek ve hata

@tablo adında bir tablo değişkeni ve içinde sayi ve adi olarak iki alan tanımladık, insert ile kayıt ekledik, kayıtları getirdik ama fiziksel bir tablo değildir,

Personel tablosuna yeni bir kayıt eklemek için gerekli SQL ifadesini yazarak eklenen kaydın ad, soyad ve maaş bilgilerini OUTPUT ile tablo değişkenine aktarılmasını sağlayan

Tüm programlama dillerinde olduğu gibi akış kontrollerinde ve döngü yapılarında kullanılan komutlar birden fazla ise mutlaka BEGIN..END bloğunda yazılmalıdır....

İstenilen şart sağlandığında WHILE döngüsünden çıkmak için BREAK komutu kullanılır.. Programın çalışması WHILE’ın END’inin altındaki satırdan çalışmaya

@@ERROR sistem fonksiyonu ile yapılan hata denetimlerinde her SQL ifadesinden sonra hata denetimi yapılmalıdır.... DELETE FROM KITAP_YAZAR WHERE yazar_no=2 DELETE FROM YAZARLAR

● Anaerob Mikroorganizmaların Neden Olduğu Hastalıklar Tartarik Asit Azaltımı