Razveljavitev transakcije
Iz E-študij, proste zakladnice študentskega znanja
Pri sprotnem ažuriranju se vse spremembe zapisov sproti vpisujejo v podatkovno bazo.
V primeru transakcijske ali sistemske nesreče, je za nadaljevanje dela najprej potrebno odstraniti iz PB vsa ažuriranja oz. nastale spremembe, ki so nastale s strani prekinjenih transakcij. Pravimo, da SUPB v izvede razveljavitev.
Pri sprotnem ažuriranju se razveljavitev izvede tako, da se iz dnevnika bere stare zapise (StaraVrednost) od zadnjega proti prvemu po padajočem času t:
PoiščiPreberi(D, <Ti, t, StaraVrednost, vrsta-operacije, (X, x)>)
Za vsak tak prebrani dnevniški zapis se izvede ažuriranje PB:
- Če je bila operacija vrste Spremeni, se zapisu X priredi njegova stara vrednost: Spremeni (X,x=StaraVrednost)
- Če je bila operacije vrste Dodaj, se dodani zapis izbriše: Izbriši (X)
- Če je bila operacija vrste Izbriši, se izbrisani zapis doda nazaj v bazo: Dodaj (X,x=StaraVrednost)
V primeru sistemske nesreče je potrebno razveljaviti ažuriranja večih transakcij.
V dnevniku so njihovi zapisi med seboj pomešani, vendar pa so urejeni po času, kar omogoča izvesti razveljavitev.