Transakcija
Transakcija – loginis duomenų bazių darbo vienetas, veiksmų duomenų bazėje seka. Transakcija vykdoma iki galo, arba anuliuojama visiškai. Transakciją galima apibūdinti kaip duomenų bazės transformavimą iš vienos suderintos į kitą suderintą būseną, tačiau tarpiniuose taškuose duomenų bazė yra nesuderintoje būsenoje. Jei transakcija nepavyko todėl, jog jos metu kompiuterinė sistema nustojo dirbusi, naujai paleidus sistemą joje neturi likti neužbaigtos transakcijos pėdsakų. Pavyzdžiui, pervedant banke pinigus, pervedama suma nuskaičiuojama nuo vienos sąskaitos ir pridedama prie kitos. Normaliam darbui būtina, jog, nepriklausomai nuo bet kokių aplinkybių turi būti atlikti arba abu šie veiksmai, arba nei vienas. Teisingai dirbančioje duomenų bazių sistemoje transakcijai būdingos šios savybės: Atomiškumas – transakcijos operacijos pavyksta arba visos, arba nei viena. Stabilumas – tiek prieš transakciją, tiek ir po jos sistema yra normalioje darbo būsenoje. Izoliacija – tarpiniai transakcijos operacijos rezultatai yra nematomi. Matomas galutinis jos rezultatas, kuris iškart pakeičia pradinį duomenų bazės turinį. Ilgalaikiškumas – jei vartotojo programa gavo informaciją, jog transakcija pavyko, transakcijos rezultatai savaime išnykti nebegali. Angliškai šie reikalavimai sutrumpintai užrašomi kaip ACID (atomicity, consistency, isolation, durability). Programuojant SQL, darbo su transakcija seka yra tokia: Sukurti transakciją. Įvykdyti vieną ar kelias darbo su duomenų baze komandas. Įvykdyti transakciją (tik tuomet iš tiesų bus pakeistas duomenų bazės turinys). Duomenų bazė, palaikanti transakcijas, vadinama transakcine duomenų baze. Dauguma šiuolaikinių duomenų bazių yra transakcinės. Taip pat yra ir transakcinių failų sistemų: Reiser4 (atviro kodo, skirta GNU/Linux) ir naujausios NTFS versijos (uždaro kodo, skirta Windows).