Sobes.tech
Junior

Ma'lumotlar bazalarida tranzaktsiyalar nima uchun ishlatiladi?

sobes.tech AI

AIdan javob

Ma'lumotlar bazasi operatsiyalarining atomiklik, moslik, izolyatsiya va bardoshlilik (ACID) prinsiplarini ta'minlaydi.

  • Atomiklik: Bir tranzaksiyadagi barcha operatsiyalar to'liq bajariladi yoki umuman bajarilmaydi. Agar bir operatsiya muvaffaqiyatsiz bo'lsa, hammasi bekor qilinadi.
  • Moslik: Tranzaksiya ma'lumotlar bazasini bir mos holatdan boshqasiga olib boradi. Cheklovlarning buzilishi (masalan, yagona kalitlar) oldini olinadi.
  • Izolyatsiya: Har bir tranzaksiya tizimda yagona bo'lib bajarilayotgandek amalga oshiriladi. Bir tranzaksiya tomonidan amalga oshirilgan o'zgarishlar boshqa tranzaksiyalar uchun ko'rinmaydi, uning yakuniga qadar.
  • Bardoshlilik: Muvaffaqiyatli yakunlangan tranzaksiya so'ng, uning o'zgarishlari saqlanadi va tizim nosozligi holatida ham yo'qolmaydi.

Tranzaksiyalar ma'lumotlarning yaxlitligini ta'minlash uchun muhimdir, ayniqsa, birgalikda bajarilishi yoki umuman bajarilmasligi kerak bo'lgan bir nechta bog'liq operatsiyalarni bajarishda. Misol uchun, omonat hisobidan hozirgi hisobga pul o'tkazish.

-- Tranzaksiyaning boshlanishi
START TRANSACTION;

-- Birinchi hisobdan chiqarish
UPDATE accounts SET balance = balance - 100 WHERE account_id = 1;

-- Agar avvalgi operatsiya muvaffaqiyatli bo'lsa, ikkinchi hisobga qo'shish
UPDATE accounts SET balance = balance + 100 WHERE account_id = 2;

-- Ikkala operatsiya muvaffaqiyatli bo'lganligini va xatoliklar yo'qligini tekshirish
-- IF xato sharti THEN
--   ROLLBACK; -- Barcha o'zgarishlarni bekor qilish
-- ELSE
--   COMMIT; -- Barcha o'zgarishlarni tasdiqlash
-- END IF;

-- Misol uchun, ikkala buyruq ham muvaffaqiyatli bajarilgan deb faraz qilamiz
COMMIT; -- Tranzaksiyani tasdiqlash
-- ROLLBACK; -- Xatolik yuzaga kelganda tranzaksiyani bekor qilish