o tranzacție este o singură unitate logică de lucru care accesează și, eventual, modifică conținutul unei baze de date. Tranzacțiile accesează datele utilizând operațiuni de citire și scriere.
pentru a menține coerența într-o bază de date, înainte și după tranzacție, sunt urmate anumite proprietăți. Acestea se numesc proprietăți acide.
Atomicitate
De asta, fie că tranzacția are loc la o dată, sau nu se intampla deloc. Nu există nici un mijloc adică., tranzacțiile nu apar parțial. Fiecare tranzacție este considerată ca o unitate și fie se execută până la finalizare, fie nu este executată deloc. Aceasta implică următoarele două operațiuni.
– Anulare: dacă o tranzacție anulează, modificările aduse bazei de date nu sunt vizibile.
– Commit: dacă o tranzacție comite, modificările făcute sunt vizibile.
Atomicitatea este, de asemenea, cunoscută sub numele de „regula totul sau nimic”.luați în considerare următoarea tranzacție t constând din T1 și T2: transferul a 100 din contul X în contul Y.,
Dacă tranzacția eșuează după finalizarea T1 dar înainte de finalizarea T2.(spuneți, după scriere (X), dar înainte de scriere(Y)), atunci suma a fost dedusă din X, dar nu a fost adăugată la Y. Aceasta are ca rezultat o stare de bază de date inconsistentă. Prin urmare, tranzacția trebuie executată în întregime pentru a asigura corectitudinea stării bazei de date.aceasta înseamnă că constrângerile de integritate trebuie menținute astfel încât baza de date să fie consecventă înainte și după tranzacție. Se referă la corectitudinea unei baze de date., Referindu-se la exemplul de mai sus,
suma totală înainte și după tranzacție trebuie menținută.
Total înainte de T apare = 500 + 200 = 700.
Total după T apare = 400 + 300 = 700.
prin urmare, baza de date este consecventă. Inconsecvența apare în cazul în care T1 se finalizează, dar T2 nu reușește. Ca urmare, T este incompletă.această proprietate asigură că mai multe tranzacții pot apărea simultan, fără a conduce la inconsecvența stării bazei de date. Tranzacțiile apar independent fără interferențe., Modificările care apar într-o anumită tranzacție nu vor fi vizibile pentru nicio altă tranzacție până când acea modificare particulară a tranzacției nu este scrisă în memorie sau nu a fost comisă. Această proprietate asigură că executarea tranzacțiilor simultan va avea ca rezultat o stare echivalentă cu o stare obținută, acestea fiind executate în serie într-o anumită ordine.
fie X= 500, Y = 500.
luați în considerare două tranzacții T și T”.
Presupunem că T a fost executat până Citit (Y) și apoi T” începe., Ca rezultat , intercalarea operațiilor are loc datorită căreia T” citește valoarea corectă a lui X, dar valoarea incorectă a lui Y și suma calculată de
T”: (X+Y = 50, 000+500=50, 500)
nu este, prin urmare, în concordanță cu suma de la sfârșitul tranzacției:
T: (X + Y = 50, 000 + 450 = 50, 450).
acest lucru duce la inconsecvența bazei de date, din cauza unei pierderi de 50 de unități. Prin urmare, tranzacțiile trebuie să aibă loc în mod izolat, iar modificările trebuie să fie vizibile numai după ce au fost făcute în memoria principală.,această proprietate asigură că, odată ce tranzacția a finalizat executarea, actualizările și modificările bazei de date sunt stocate și scrise pe disc și persistă chiar dacă apare o defecțiune a sistemului. Aceste actualizări devin acum permanente și sunt stocate în memorie nevolatilă. Astfel, efectele tranzacției nu se pierd niciodată.,proprietățile acide, în totalitate, oferă un mecanism care să asigure corectitudinea și coerența unei baze de date într-un mod astfel încât fiecare tranzacție să fie un grup de operațiuni care acționează o singură unitate, produce rezultate consecvente, acționează izolat de alte operațiuni și actualizările pe care le face sunt stocate durabil.acest articol este contribuit de Avneet Kaur. Dacă vă place GeeksforGeeks și ar dori să contribuie, de asemenea, puteți scrie un articol folosind contribute.geeksforgeeks.org sau e-mail la art. [email protected]., Vedeți articolul dvs. care apare pe pagina principală GeeksforGeeks și ajutați alți Geeks.