h1

Cap5. Modelul ANSI/ISO pt.tranzactii

March 18, 2010

O tranzactie: – este o secventa de instructiuni sql pe care sgbd-ul le vede ca o singura unitate de lucru.

Bd ramane neschimbata (ca si cum nici o tranzactie nu ar fi fost executata).

Modelul tranzctiei ANSI/ISO defineste rolurile pt.COMMIT (ce marcheaza sfarsitul unei tranzactii) si ROLLBACK ( ce se intoarce laprima instructiune sql executata)

Practic un utilizator logat la serverul bd urmareste acest model ANSI/ISO al unei tranzactii atunci cand opereaza cu o tranzactie.

O tranzactie ANSI/ISo incepe automat cu executia unei instructiuni sql

si continua cu alte instructiuni si se poate termina in una dintre situatiile aratate mai jos:

Logul tranzactiilor (.ldf) – este creat automat atunci cand creati o baza de date si faze posibil pt. sgbd sa restaureze (undo work) munca prin instructiunile unei tranzactii si restaureze bd intr-o stare consistenta dupa recuperarea unei defectiuni hardware sau software.

Practic restaurand datele din bd mentinem copii ale datelor inainte si dupa schimbarile din logul tranzactiilor (practic tine evidenta fisierul log al tranzactiilor de succesiunea tuturor interogarilor/instructiunilor sql efectuate pana atunci).

Intelegerea folosirii modelului pt.tranzactii  si clauzele COMMIT si ROLLBACK :

Teorie:

Exemple:

a)

Schema generala de utilizare a unui savepoint (punct de salvare dintr-o tranzactie care salveaza succesiune de instr.sql din tranzactia respectiva cu ajutorul cuv.rezervat save transaction):

(practic ideea ar fi ca dupa orice modificare in bd se salveza tranzactia si ea va afecta comportamentul fisierului .ldf din baza de date).

Practic o tranzactie este o succesiune de operatii/ instructiuni sql. La fiecare moment al efectuarii cerintei se salveaza tranzactia, aceasta poate fi modificata dupa save transaction si re-salvata din nou cu save transaction.

b)

c) Folosire tranzactii cu nume si tranzactii nested:

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: