Transakcija

Iz E-študij, proste zakladnice študentskega znanja

Skoči na: navigacija, iskanje

Transakcija je logični vrstni red ažuriranj in povpraševanj, ki prevede PB iz enega v novo veljavno stanje. Transakcija ohranja tudi konsistentnost podatkov v PB.

Če hočemo ohraniti konsistentno PB, se mora transakcija izvesti v celoti, ali pa sploh ne. Oziroma: izvesti se morajo vsa ažuriranja transakcije ali nobeno.

Vsebina

Potek transakcije

Transakcija se prične z operacijo “Začetek transakcije”, konča pa ali z ukazom “Pomni” (COMMIT) ali “Pozabi” (CANCEL, ROLLBACK).

Ukazi

  • COMMIT
navodilo SUPB, da so se vsa ažuriranja v okviru transakcije uspešno izvedla in da naj se vse spremembe v PB ohranijo
  • ROLLBACK
navodilo SUPB, naj se vsa v okviru transakcije izvedena ažuriranja razveljavijo

Življenjski cikel

Transakcije.png

Življenski cikel transakcije lahko predstavimo z diagramom prehajanja stanj – transakcija se nahaja v več stanjih:

aktivna transakcija
  • Transakcija je aktivna od ukaza “Začetek transakcije” do ukaza “Commit” (preide v stanje “uspešna transakcija”)
uspešna transakcija
  • Pri nekaterih vrstah obnavljanja mora SUPB vsa ažuriranja uspešne transakcije šele uveljaviti v PB, ker se dejanska ažuriranja v PB še niso izvedla
  • Ko je uveljavljanje ažuriranj izvedeno, postane transakcija uspešno zaključena (stanje “uspešno zaključena transakcija”)
ponesrečena transakcija
  • Če se med uveljavljanjem ažuriranj zgodi podatkovna nesreča, postane transakcija ponesrečena
  • Tudi aktivna transakcija se lahko ponesreči in tako postane ponesrečena transakcija
  • V takih primerih mora SUPB poskrbeti za razveljavitev vseh morebitnih ažuriranj v PB, nato pa postane transakcija “neuspešno zaključena”
  • Če se transakcija ni ponesrečila po lastni krivdi (na primer zaradi neustreznih vhodnih podatkov), jo SUPB vrne v ponovno izvajanje

glej tudi

Osebna orodja
Imenski prostori
Različice
Dejanja
navigacija

Tiskanje/izvoz
orodja