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