logo

SQL İŞLEMLERİ

Bir SQL işlemi, bir veya daha fazla SQL işleminin dizisidir (örn.INSERT UPDATE DELETE) tek bir iş birimi olarak yürütülür. İşlemler, veri bütünlüğünü koruyarak tüm işlemlerin başarılı olmasını veya hiçbirinin uygulanmamasını sağlar.

SQL İşlemlerinin Temel Özellikleri: ACID

SQL işlemlerinin bütünlüğü, güvenilir veritabanı işlemlerini garanti eden ACID özellikleri tarafından yönetilir. Bu dört özellik, veritabanının tutarlı ve güvenilir kalmasını garanti etmek için birlikte çalışır.

  • Atomiklik: Bir işlemin sonucu tamamen başarılı ya da tamamen başarısız olabilir. Bir kısmı başarısız olursa işlemin tamamı geri alınmalıdır.
  • Tutarlılık: İşlemler, veritabanını geçerli bir durumdan diğerine taşıyarak bütünlük kısıtlamalarını korur.
  • İzolasyon: Eşzamanlı işlemler birbirinden izole edilerek verilerin doğruluğu sağlanır.
  • Dayanıklılık: Bir işlem gerçekleştirildikten sonra, bir sistem arızası durumunda bile, yapılan değişiklikler yürürlükte kalır.

SQL İşlem Kontrol Komutları

SQL işlem kontrolünde komutlar şunları yönetir: Veritabanı işlemlerinin bütünlüğünü ve güvenilirliğini sağlayan SQL işlemlerinin yürütülmesi. Bu komutlar, veritabanında yapılan değişikliklerin başlatılmasını ve geri alınmasını yönetmeye yardımcı olur. Aşağıda SQL'deki temel işlem kontrol komutları sözdizimi ve her biri için örneklerle açıklanmıştır.



1. İŞLEMİ BAŞLAT Komutu

BEGIN TRANSACTIONkomut yeni bir işlemin başlangıcını işaret eder. Bu komutu izleyen tüm SQL ifadeleri, bir işlem tamamlanıncaya kadar aynı işlemin parçası olacaktır.COMMIT veya ROLLBACK karşılaşılır. Bu komut veritabanında herhangi bir değişiklik yapmaz, sadece işlemi başlatır.

Sözdizimi:

BEGIN TRANSACTION transaction_name ;

Banka Transferi Senaryosu ile SQL İşlemi Örneği

İki hesap arasındaki banka havalesi örneğine bakalım. Bu örnek, tek bir işlemde birden çok sorgunun kullanımını gösterir.

BEGIN TRANSACTION;  

-- Deduct 0 from Account A
UPDATE Accounts
SET Balance = Balance - 150
WHERE AccountID = 'A';

-- Add 0 to Account B
UPDATE Accounts
SET Balance = Balance + 150
WHERE AccountID = 'B';

-- Commit the transaction if both operations succeed
COMMIT;

Bir sorun gibi herhangi bir hata meydana gelirseUPDATEkullanabileceğiniz sorguROLLBACKişlem sırasında yapılan tüm değişiklikleri geri almak için:

ROLLBACK;

Bu, sistemin bir hesaptan para çekip diğerine ekleme gibi tutarsız bir duruma düşmemesini sağlar.

BEGIN TRANSACTION TransferFunds;

2. COMMIT Komutu

COMMITkomutu, geçerli işlem sırasında yapılan tüm değişiklikleri veritabanına kaydetmek için kullanılır. Bir işlem gerçekleştirildikten sonra değişiklikler kalıcı olur. 

Sözdizimi:

COMMIT;

Örnek

İşte örnekStudentBu örnekteki işlemleri gerçekleştirmek için kullanılacak tablo. Bu tablo, kimlik adı yaşı gibi temel öğrenci ayrıntılarını ve çeşitli yöntemler kullanılarak değiştirilecek diğer ilgili bilgileri içerir. işlem kontrol komutları.

google ne anlama geliyor
çıktı' title=Öğrenci Masası

Aşağıda, age = 20 olan kayıtları tablodan silecek ve ardından veritabanındaki değişiklikleri KABUL EDECEK bir örnek verilmiştir. 

DELETE FROM Student WHERE AGE = 20;  
COMMIT;

Çıkış

çıktı' loading='lazy' title=çıktı

3. GERİ DÖNME Komutu

ROLLBACKkomutu, geçerli işlemde yapılan tüm değişiklikleri geri almak için kullanılır. Bir hata oluştuğunda veya istenilen değişiklikler tamamlanamadığında kullanılır. Veritabanı, önceki durumuna geri dönecektir. BEGIN TRANSACTION idam edildi.

Sözdizimi:

ROLLBACK;

Örnek

Yaş = 20 olan kayıtları tablodan silin ve ardından veritabanındaki değişiklikleri GERİ DÖNÜN. Bu durumda DELETE işlem geri alınır ve veritabanındaki değişiklikler kaydedilmez.

DELETE FROM Student WHERE AGE = 20;  
ROLLBACK;

Çıkış:

çıktı' loading='lazy' title=çıktı

4. KAYDETME NOKTASI Komutu

ASAVEPOINToluşturmak için kullanılır kontrol noktası bir işlem dahilinde. Belirli bir duruma geri dönebilirizSAVEPOINTişlemin tamamını geri almak yerine. Bu, işlemin bir kısmını geri almamıza olanak tanır. tüm işlem.

Sözdizimi:

SAVEPOINT SAVEPOINT_NAME;

Örnek

SAVEPOINT SP1;  
//Savepoint created.
DELETE FROM Student WHERE AGE = 20;
//deleted
SAVEPOINT SP2;
//Savepoint created.

Çıkış:

çıktı' loading='lazy' title=çıktı

Açıklama:

Yukarıdaki örnekten Örnek tablo1 Yaş = 20 olan kayıtları tablodan silin ve ardından Kayıt Noktalarını koruyarak veritabanındaki değişiklikleri GERİ ALIN. Burada SP1, silinmeden önce oluşturulan ilk SAVEPOINT'tir. Bu örnekte bir silme işlemi gerçekleştirilmiştir. Silme işleminden sonra tekrar SAVEPOINT SP2 oluşturulur. 

5. KAYIT NOKTASINA GERİ DÖN

ROLLBACK TO SAVEPOINTkomutu, o noktadan sonra yapılan değişiklikleri etkili bir şekilde geri alarak, işlemi belirli bir kayıt noktasına geri almamızı sağlar.

Sözdizimi:

ROLLBACK TO SAVEPOINT SAVEPOINT_NAME;

Örnek

Silme işlemi gerçekleşti diyelim ki fikrimizi değiştirdik ve silme işleminden önceki SP1 olarak belirlediğimiz KAYIT NOKTASINA GERİ DÖNME kararı aldık. Yani bu durumdaDELETEişlem geri alınır ve işlem o anki durumuna geri döner.SP1kaydetme noktası.

ROLLBACK TO SP1;  
//Rollback completed

Çıkış:

çıktı' loading='lazy' title=çıktı

6. KAYDETME NOKTASINI SERBEST BIRAK Komutu

Bu komut oluşturduğumuz bir SAVEPOINT'i kaldırmak için kullanılır. Bir KAYDETME NOKTASI serbest bırakıldığında artık ROLLBACK'i kullanamayız. Son KAYDETME NOKTASI'ndan bu yana gerçekleştirilen işlemleri geri alma komutu. Bir veritabanı işlemini başlatmak için kullanılır ve takip eden işlemin özelliklerini belirtmek için kullanılır. 

Sözdizimi:  

RELEASE SAVEPOINT SAVEPOINT_NAME;

Örnek

Kayıt noktası bir kezSP2serbest bırakıldığında artık geri dönemeyiz.

RELEASE SAVEPOINT SP2; -- Release the second savepoint.

Bankacılıkta İşlemler Neden Kullanılmalıdır?

Bu durumda, bir işlem yapılmadığında, paranın bir hesaptan düşüldüğü ancak diğerine eklenmediği ve sistemi tutarsız bir durumda bırakan senaryolar riskiyle karşı karşıya kalırsınız. İşlemler, her iki operasyonun birlikte başarılı veya başarısız olmasını garanti ederek bu tür sorunların önlenmesini sağlar.

c programları

SQL İşlem Türleri

Niteliklerine ve gerçekleştirdikleri spesifik işlemlere bağlı olarak farklı işlem türleri vardır:

  • İşlemleri Oku : Yalnızca tipik olarak verileri okumak için kullanılır SELECT sorgular.
  • İşlem Yaz : Bunlar veritabanındaki verilerin değiştirilmesini içerir. INSERT UPDATEveyaDELETEoperasyonlar.
  • Dağıtılmış İşlemler : Bu işlemler birden fazla veritabanına yayılır ve bunlar arasında tutarlılık sağlar.
  • Örtülü İşlemler : Belirli işlemler için SQL Server tarafından otomatik olarak başlatılır.
  • Açık İşlemler : Kullanıcının işlemi kullanarak başlattığı ve bitirdiği, manuel olarak kontrol edilen işlemlerBEGIN TRANSACTION COMMITVeROLLBACK.

SQL İşlemlerini İzleme ve Optimize Etme

Performansı korumak ve sorunları önlemek için aşağıdaki teknikleri göz önünde bulundurun:

Java yöntemini içerir

1. Monitör Kilitleri : Kilitleme davranışını izleyin ve kilitleme çakışmalarını en aza indirecek şekilde sorguları ayarlayın.

2. İşlem Kapsamını Sınırlandırın : İşlemeyi hızlandırmak için bir işlemden etkilenen satır veya kayıt sayısını sınırlayın.

3. Toplu İşlemeyi Kullanın : Büyük miktarda veriyle uğraşıyorsanız, sistemin aşırı yüklenmesini önlemek için işlemleri daha küçük işlemlere veya gruplara bölün.

Önerilen Test Testi Düzenle 5 Soru

Aşağıdaki senaryolardan hangisi ACID'deki 'İzolasyon' özelliğinin ihlalini en iyi şekilde tanımlar?

  • A

    Bir işlem, veritabanını birincil anahtar kısıtlamasını ihlal eden bir durumda bırakır.

  • B

    Eşzamanlı olarak çalışan iki işlem aynı verileri okuyup yazıyor ve bu da tutarsız sonuçlara yol açıyor.

  • C

    Kullanıcı bir kaydı başarıyla günceller ancak sistem çökmesi değişikliği siler.

  • D

    Bir işlem yarı yolda başarısız olur ve tüm değişiklikleri geri alınır.

Açıklama:

Bu, bir işlemin ara durumunun diğerine görünür olduğu izolasyon ihlalinin klasik bir örneğidir.

Bir bankacılık uygulamasında fon transferi, bir hesabın borçlandırılmasını ve diğerinin alacaklandırılmasını içerir. Hangi ACID özelliği her iki işlemin de tamamlanmasını veya hiçbirinin tamamlanmamasını sağlar?

  • A

    İzolasyon

  • B

    Atomiklik

  • C

    Dayanıklılık

  • D

    Tutarlılık

Açıklama:

Atomicity, bir işlem içindeki tüm işlemlerin başarıyla tamamlanmasını sağlar; aksi takdirde işlemin tamamı geri alınır.

Bir işlem gerçekleştirilir ve bir 'COMMIT' verilir. Elektrik kesintisi meydana geldikten hemen sonra. Hangi ACID özelliği, işlem tarafından yapılan değişikliklerin sistem yeniden başlatıldıktan sonra hala mevcut olduğunu garanti eder?

  • A

    Tutarlılık

  • B

    Atomiklik

  • C

    Dayanıklılık

  • D

    İzolasyon

Açıklama:

Dayanıklılık, bir işlemin gerçekleştirildikten sonra elektrik kesintisi veya sistem çökmesi durumunda bile aynı kalmasını sağlayan özelliktir.

Bir işlemde 'SAVEPOINT' komutunun birincil amacı nedir?

java nasıl geçersiz kılınır
  • A

    İşlemin bir kısmını taahhüt etmek.

  • B

    Bir işlemde daha sonra geri dönebileceğiniz bir noktayı işaretlemek için.

  • C

    İşlemin durumunu kalıcı olarak kaydetmek için.

  • D

    İşlemi sonlandırmak ve tüm değişiklikleri kalıcı hale getirmek.

Açıklama:

'SAVEPOINT' bir işlem içinde kısmi geri dönüşlere izin verir.

Şu işlemi düşünün: 'İŞLEMİ BAŞLATIN; SOKMAK ...; KAYIT NOKTASI A; GÜNCELLEME ...; KAYIT NOKTASI B; SİLMEK ...; KAYIT NOKTASI A'YA GERİ DÖNÜN;' 'ROLLBACK' komutundan sonra işlemin durumu nedir?

  • A

    İşlemin tamamı geri alınır.

  • B

    Yalnızca 'SİL' işlemi geri alınır.

  • C

    En güncel olmayan bir kayıt noktasına geri dönemediğiniz için bir hata oluşur.

  • D

    'INSERT' kaydedilir ancak 'UPDATE' ve 'DELETE' geri alınır.

Açıklama:

'KAYDETME NOKTASI A'ya geri dönmek, o kayıt noktasından sonra yapılan 'GÜNCELLEME' ve 'SİL' olan tüm değişiklikleri geri alır.

SQL İŞLEMLERİSınav Başarıyla Tamamlandı Puanınız :  2/5Kesinlik : %0Açıklamayı Görmek İçin Giriş Yapın 1/5 1/5 < Previous Sonraki >