Junior
Ինչու են օգտագործվում տրանզակցիաները տվյալների բազայում?
sobes.tech AI
Պատասխան AI-ից
Տրանսակցիաները ապահովում են տվյալների բազայի օպերացիաների ատոմարություն, համատեղելիություն, առանձնացում և կայունություն (ACID):
- Ատոմարություն: Բոլոր օպերացիաները միաժամանակ կամ ամբողջությամբ կատարվում են կամ ոչ մի կերպ: Եթե մի օպերացիա ձախողվի, ապա բոլորը վերականգնվում են:
- Համատեղելիություն: Տրանսակցիան բազան տեղափոխում է մի վիճակից մյուսին՝ պահպանելով բոլոր սահմանափակումները (օրինակ, եզակի բանալիները):
- Արժեքային առանձնացում: Յուրաքանչյուր տրանսակցիա կատարվում է այնպես, կարծես այն միակն է համակարգում: Մեկ տրանսակցիայի փոփոխությունները չեն տեսանելի մյուսների համար մինչև այն ավարտվի:
- Կայունություն: Հաջող ավարտից հետո, նրա փոփոխությունները պահպանվում են և չեն կորցվում համակարգի խափանման դեպքում:
Տրանսակցիաները կարևոր են տվյալների ամբողջականությունը ապահովելու համար, հատկապես երբ կատարվում են մի քանի կապված գործողություններ, որոնք պետք է կատարվեն միասին կամ ոչ մի կերպ: Օրինակ՝ գումարի փոխանցում խնայողական հաշվից՝ ընթացիկ հաշվին:
-- Տրանսակցիայի մեկնարկ
START TRANSACTION;
-- Առաջին հաշվից գումարի հանում
UPDATE accounts SET balance = balance - 100 WHERE account_id = 1;
-- Եթե նախորդ գործողությունը հաջող է, ավելացնել երկրորդ հաշվին
UPDATE accounts SET balance = balance + 100 WHERE account_id = 2;
-- Ստուգել, որ երկու գործողություններն էլ հաջող են և առանց սխալների
-- IF սխալ THEN
-- ROLLBACK; -- Բոլոր փոփոխությունները վերականգնել
-- ELSE
-- COMMIT; -- Բոլոր փոփոխությունները հաստատել
-- END IF;
-- Օրինակ՝ ենթադրենք, որ երկու հրամաններն էլ հաջողությամբ ավարտվեցին
COMMIT; -- Տրանսակցիան հաստատել
-- ROLLBACK; -- Սխալի դեպքում տրանսակցիան վերականգնել