Professional Documents
Culture Documents
Naredbe Commit I Rollback
Naredbe Commit I Rollback
Dvije osnovne operacije koje koristi transakcija su read(X) i write(X). Operacijom read(X) čita
se element X iz baze podataka i upisuje u promjenljivu X programa. Operacijom write (X)
upisuje se promenljiva X programa kao element X baze podataka. To može biti neko polje
određenog sloga iz baze podataka ali takođe i neki veći element - cio slog ili čitav blok sa diska.
Ostale operacije transakcije: Za potrebe oporavka sistem mora čuvati podatke o tome kada
transakcija startuje, kada se završava i kada se komituje. Menadžer oporavka čuva podatke o
sledećim operacijama:
1. begin_transaction: markira početak izvođenja transakcije;
2. read i write : označava da su u transakciji izvedene operacije čitanja i upisa elemenata
iz baze podataka;
3. end_transaction: označava da su završene read i write operacije iz transakcije i markira
krajnju granicu izvršenja transakcije. U ovoj tački je neophodna provjera da li su promjene u bazi
podataka trajno izvedene (tj. da li je transakcija komitovana) ili je izvedeno abortovanje
transakcije iz nekih razloga;
4. commit_transaction: daje informaciju da je transakcija uspješno izvedena tako da su
promjene izvršene u okviru transakcije sigurno komitovane u bazu podataka i da neće biti
poništene.
Osim ovih operacija oporavak baze podataka zahtjeva i sledeće operacije:
5. rollback (abort): signalizira da je transakcija završena neuspješno tako da treba ponoviti sve
operacije ažuriranja koje su ovom transakcijom obuhvaćene;
6. undo: slična je operaciji rollback osim što se primjenjuje na jednu operaciju, a ne na čitavu
transakciju;
7. redo: ukazuje da određene operacije transakcije treba ponovo izvesti da bi osigurali
uspješnost izvođenja svih operacija komitovane transakcije nad bazom podataka.
Dijagram promjene stanja transakcije pri njenom izvođenju: Osnovna stanja transakcije su:
ACTIVNA, DJELIMIČNO_KOMITOVANA, KOMITOVANA, NEISPRAVNA,
TERMINIRANA. Niže je prikazan dijagram promjene stanja transakcije.
end_transaction DJELOMIČNO
KOMITOVANA
read, write KOMITOVANA komitovanje
A
AKTIVNA
NEISPRAVNA TERMINIRANA