Sobes.tech
Junior — Middle

Оё метавонед шарҳи кунед, ки дар контексти SQL транзаксия чӣ маъно дорад ва чӣ гуна кор мекунад?

sobes.tech AI

Ҷавоб аз AI

Дар контексти SQL, транзаксия — ин силсилаи амалиётҳо дар бораи маълумотхонаи аст, ки ҳамчун як воҳид иҷро мешавад. Транзаксия кафолат медиҳад, ки ё ҳамаи амалҳо бо муваффақият анҷом меёбанд ё ягон яке аз онҳо ба маълумотхона таъсир намерасонад (атомикӣ).

Хусусиятҳои асосии транзаксияҳо (ACID):

  • Атомикӣ: ҳамаи амалҳо дар транзаксия ё пурра иҷро мешаванд ё ҳеҷ гоҳ.
  • Мувофиқият: пас аз иҷрои транзаксия, маълумотхона дар ҳолати дуруст мемонад.
  • Изоляция: транзаксияҳои параллелӣ ба ҳам таъсир намерасонанд.
  • Давомнокӣ: пас аз тасдиқ, тағирот ҳатто дар ҳолати хато нигоҳ дошта мешавад.

Масалан, истифодаи транзаксия дар SQL:

BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;

Агар дар раванд хатогӣ рӯй диҳад, метавон ROLLBACK; иҷро кард — пас тағирот бекор карда мешаванд.