Sobes.tech
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; -- Սխալի դեպքում տրանսակցիան վերականգնել