Transakzioa, DBKSen (datu-base kudeatzeko sistema) esparruan, datu-basearen sendotasuna mantenduz, beronen egoerak aldatzen dituen ekintza-multzo banaezina da, hau da, multzoko ekintza guztiak burutuko dira ala ez da bat bera ere burutuko.
Nahiz eta arazoren bat sortu, transakzioa beti bukatu egiten da. Kasu honetan arrakastarik gabe bukatuko bada ere.
Faseak
- Hasiera: transakzioaren egikaritzea hasiko da.
- Ekintza (irakurketa edo idazketa): Transakzioak datu-basean burutu ditzakeen eragiketak. Fase honetan, baliogabetze agindu zuzena jaso daiteke.
- Aldaketa bukaera (baieztapen partziala): Irakurketa eta idazketa eragiketak bukatu egin dira. Baina, ez du esan nahi behin betiko aldaketa lortu denik. Konkurrentzia edo aldiberekotasun betekizunak frogatu beharra dago, non sendotasun eza bat aurkituz gero transakzioa baliogabetuko den.
- Baieztapena: Transakzioa ondo bukatu da. Commit. Baieztatutako transakzioa bukatutako transakzioa da.
- Lehengoratzea edo baliogabetzea: Ez da baieztapenik jaso. Transakzioa baliogabetzen denean gelditu eta jadanik egikaritu diren ekintzak desegin eta datu-basea hasierako egoeran utziko da. Rollback. Baliogabetutako transakzioa ere, bukatutako transakzioa da.
Ezaugarriak
Ingelesez ACID anglosaxoi terminoaz ezagunak dira.
- Atomotasuna (Atomicity): Transakzioa zatiezina den eragiketa unitatea da.
- Sendotasuna (Consistency): Datu-basearengan sortzen dituen aldaketek datu-basearen arau semantikoak bete beharko dituzte. (Transakzioen aldiberekotasunak arazoak sor ditzake)
- Isolamendua (Isolation): Egikaritzen ari den transakzioak, behin betiko baieztapena jaso artean, ez die beste transakzioei bere emaitzak atzitzen utziko.
- Iraunkortasuna (Durability): Transakzioak baieztapena jaso duenean bere emaitzak iraunkorrak izango direla ziurtatu beharko da. (Memoriako datuen galera ekar dezaketen sistemako akatsei konponbidea jarriz.)
Transakzioak sailkatzeko erabil daitezkeen irizpideak:
- Banaketa: Esparru banatu edo ez banatuetan egikari badaiteke.
- Interaktiboa: Lan esparru interaktibo batean ematen bada.
- Barne egitura: Egitura laua edo ez laua, transakzioak azpitransakzioak izatearen edo ez izatearen arabera.