Transakcie
Doteraz uvedené techniky ochrany integrity bázy dát, ktoré boli vytvorené na ochranu bežných súborov operačných systémov, chránia údaje v BD predovšetkým pred fyzickým zničením. V SRBD sú k dispozícii aj ďalšie funkcie, ktoré dovoľujú ochraňovať bázu údajov pred operáciami, ktoré by viedli k nekonzistentným stavom.
Príklad: Ochrana pred operáciami, ktoré by viedli k tomu, aby hodnota nejakého objektu bázy dát vyšla zo stanoveného intervalu (napr. vek alebo výška nadobudnú zápornú hodnotu).

Takéto operácie môže SRBD odmietnuť a informovať o tom aplikačný program. Operácia meniaca údaje v databáze však zriedkakedy býva elementárna, zvyčajne ide o postupnosť – transakciu.
Definícia: Transakcia je postupnosť operácií nad objektami BD, ktorá realizuje jednu ucelenú operáciu

(jednotku) z hľadiska používateľa BD.

Obr. Vykonávanie transakcie
  • Transakcia je postuponosť akcií, ktoré sú vykonané všetky, alebo žiadna.

  • Pred a po vykonaní transakcie musí byť databáza v konzistentnom stave.

  • Počas vykonavánia transakcie môže byť DB v nekonzistentnom stave, ale musí byť zabezpečený výlučný prístup a aj možnosť návratu do pôvodného stavu v prípade zlyhania transakcie.

Transakcia sa začína vykonaním prvého príkazu alebo špeciálnym príkazom (napr. BEGIN TRANSACTION).

Transakcia sa môže skončiť úspešne alebo neúspešne.
  • Úspešne ukončená (bola potvrdená) – zmeny, ktoré transakcia spôsobila sa stávajú záväznými.
  • Neúspešne ukončená (bola zničená) – poruchou technického zariadenia, chyba programového vybavenia, vinou iných transakcií.
  • Okamih od ktorého sú všetky zmeny spôsobené transakciou záväzné = bod potvrdenia.