Obsah:
Definícia - Čo znamená Transakcia?
Transakcia v kontexte databázy je logická jednotka, ktorá sa vykonáva nezávisle na získavaní alebo aktualizácii údajov. V relačných databázach musia byť databázové transakcie atómové, konzistentné, izolované a trvalé - zhrnuté ako skratka ACID.
Techopedia vysvetľuje transakcie
Transakcie sú ukončené príkazmi SQL COMMIT alebo ROLLBACK SQL, ktoré označujú začiatok alebo koniec transakcie. Zkratka ACID definuje vlastnosti databázovej transakcie takto:
- Atómicita: Transakcia musí byť úplne dokončená, uložená (potvrdená) alebo úplne vrátená (vrátená späť). Predaj v databáze maloobchodných predajní ilustruje scenár, ktorý vysvetľuje atomicitu, napr. Predaj pozostáva zo zníženia zásob a záznamu prichádzajúcej hotovosti. Obaja sa stávajú spoločne alebo sa nestávajú - je to všetko alebo nič.
- Konzistentnosť: Transakcia musí byť úplne v súlade so stavom databázy tak, ako pred transakciou. Inými slovami, transakcia nemôže narušiť obmedzenia databázy. Napríklad, ak stĺpec Telefónne číslo tabuľky databázy môže obsahovať iba číslice, potom konzistentnosť diktuje, že žiadna transakcia, ktorá sa pokúša zadať abecedné písmeno, sa nemusí zaviazať.
- Izolácia: Údaje o transakciách nesmú byť k dispozícii pre iné transakcie, kým nebude pôvodná transakcia potvrdená alebo zrušená.
- Trvanlivosť: Zmeny údajov o transakciách musia byť k dispozícii, a to aj v prípade zlyhania databázy.