Sobes.tech
Junior — Middle

SQL kontekstida tranzaksiya nima ekanligini va u qanday ishlashini tushuntirib bera olasizmi?

sobes.tech AI

AIdan javob

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; ишга туширилиши мумкин — шу тариқа ўзгаришлар бекор қилинади.