A tranzacţie este o singură unitate logică de lucru care accesează și eventual modifică conținutul unei baze de date. Tranzacțiile accesează date utilizând operațiuni de citire și scriere.
Pentru a menține consistența într-o bază de date, înainte și după tranzacție, sunt respectate anumite proprietăți. Acestea sunt numite ACID proprietăți.
Pentru cei care doresc să stăpânească aceste concepte și să exceleze la examene, cum ar fi POARTĂ , al nostru curs GATE oferă o explorare aprofundată a sistemelor de management al bazelor de date. Acoperim totul, de la elementele de bază la subiecte avansate, asigurând o înțelegere aprofundată, care este esențială pentru scoruri mari și aplicare practică
Atomicitate:
Prin aceasta, ne referim că fie întreaga tranzacție are loc deodată, fie nu are loc deloc. Nu există la mijloc, adică tranzacțiile nu au loc 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ții.
— Avorta : Dacă o tranzacție se anulează, modificările făcute în baza de date nu sunt vizibile.
— Angajează-te : Dacă o tranzacție se comite, modificările efectuate sunt vizibile.
Atomicitatea este cunoscută și sub denumirea de „regula totul sau nimic”.
Luați în considerare următoarea tranzacție T constând din T1 și T2 : Transfer de 100 din cont X a da socoteală ȘI .

Dacă tranzacția eșuează după finalizarea T1 dar înainte de finalizarea T2 .( spune, după scrie (X) dar înainte scrie (Y) ), atunci suma a fost dedusă din X dar nu adăugat la ȘI . Aceasta are ca rezultat o stare inconsecventă a bazei de date. Prin urmare, tranzacția trebuie executată în întregime pentru a asigura corectitudinea stării bazei de date.
Consecvență:
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-ne 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ă ce apare T = 400 + 300 = 700 .
Prin urmare, baza de date este consistent . Incoerența apare în caz T1 completează dar T2 eșuează. Ca urmare, T este incomplet.
Izolare:
Această proprietate asigură că tranzacțiile multiple pot avea loc simultan, fără a duce la inconsecvența stării bazei de date. Tranzacțiile au loc 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 modificarea respectivă a tranzacției respective nu este scrisă în memorie sau a fost comisă. Această proprietate asigură că executarea tranzacțiilor concomitent va avea ca rezultat o stare care este echivalentă cu o stare atinsă, acestea au fost executate în serie într-o anumită ordine.
Lăsa X = 500, ȘI = 500.
Luați în considerare două tranzacții T și T.

Presupune T a fost executat până la Citiți (Y) și apoi T’’ începe. Ca urmare, intercalarea operațiunilor are loc din cauza căreia T’’ citește valoarea corectă a X dar valoarea incorectă a ȘI și suma calculată de
T’’: (X+Y = 50, 000+500=50, 500)
nu este astfel î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 izolat, iar modificările ar trebui să fie vizibile numai după ce au fost efectuate în memoria principală.
Durabilitate:
Această proprietate asigură că odată ce tranzacția s-a încheiat, actualizările și modificările bazei de date sunt stocate și scrise pe disc și persistă chiar dacă are loc o defecțiune a sistemului. Aceste actualizări devin acum permanente și sunt stocate în memorie nevolatilă. Efectele tranzacției, astfel, nu se pierd niciodată.
Câteva puncte importante:
| Proprietate | Responsabilitatea pentru întreținerea proprietăților |
|---|---|
| Atomicitatea | Manager de tranzacții |
| Consecvență | Programator de aplicații |
| Izolare | Manager de control al concurenței |
| Durabilitate | Manager de recuperare |
The ACID proprietățile, în totalitate, oferă un mecanism pentru a asigura corectitudinea și consistența unei baze de date, astfel încât fiecare tranzacție să fie un grup de operațiuni care acționează ca o singură unitate, produce rezultate consistente, acționează izolat de alte operațiuni și actualizează care face să fie depozitate în mod durabil.
Proprietățile ACID sunt cele patru caracteristici cheie care definesc fiabilitatea și consistența unei tranzacții într-un sistem de management al bazelor de date (DBMS). Acronimul ACID înseamnă Atomicity, Consistency, Isolation, and Durability. Iată o scurtă descriere a fiecăreia dintre aceste proprietăți:
- Atomicitate: Atomicitatea asigură că o tranzacție este tratată ca o unitate de lucru unică, indivizibilă. Fie toate operațiunile din cadrul tranzacției sunt finalizate cu succes, fie niciuna dintre ele nu este finalizată. Dacă orice parte a tranzacției eșuează, întreaga tranzacție este revenită la starea inițială, asigurând consistența și integritatea datelor.
- Consecvență: consistența asigură că o tranzacție duce baza de date dintr-o stare consecventă în alta stare consecventă. Baza de date este într-o stare consecventă atât înainte, cât și după executarea tranzacției. Constrângerile, cum ar fi cheile unice și cheile străine, trebuie menținute pentru a asigura coerența datelor.
- Izolare: Izolarea asigură că mai multe tranzacții pot fi executate simultan, fără a interfera unele cu altele. Fiecare tranzacție trebuie izolată de alte tranzacții până la finalizare. Această izolare previne citirile murdare, citirile nerepetabile și citirile fantomă.
- Durabilitate: Durabilitatea asigură că, odată ce o tranzacție este efectuată, modificările acesteia sunt permanente și vor supraviețui oricăror defecțiuni ulterioare ale sistemului. Modificările tranzacției sunt salvate permanent în baza de date și chiar dacă sistemul se blochează, modificările rămân intacte și pot fi recuperate.
În general, proprietățile ACID oferă un cadru pentru asigurarea coerenței, integrității și fiabilității datelor în DBMS. Acestea asigură că tranzacțiile sunt executate într-o manieră fiabilă și consecventă, chiar și în prezența defecțiunilor sistemului, problemelor de rețea sau a altor probleme. Aceste proprietăți fac din DBMS un instrument de încredere și eficient pentru gestionarea datelor în organizațiile moderne.
Avantajele proprietăților ACID în DBMS:
- Consecvența datelor: Proprietățile ACID asigură că datele rămân consecvente și precise după orice execuție a tranzacției.
- Integritatea datelor: Proprietățile ACID mențin integritatea datelor, asigurându-se că orice modificări aduse bazei de date sunt permanente și nu pot fi pierdute.
- Controlul concurenței: Proprietățile ACID ajută la gestionarea mai multor tranzacții care au loc concomitent prin prevenirea interferențelor între ele.
- Recuperare: Proprietățile ACID asigură că, în cazul oricărei defecțiuni sau blocări, sistemul poate recupera datele până la punctul de defecțiune sau accident.
Dezavantajele proprietăților ACID în DBMS:
- Performanță: Proprietățile ACID pot cauza o suprasarcină de performanță în sistem, deoarece necesită procesare suplimentară pentru a asigura consistența și integritatea datelor.
- Scalabilitate: Proprietățile ACID pot cauza probleme de scalabilitate în sistemele mari distribuite în care tranzacțiile multiple au loc concomitent.
- Complexitate: Implementarea proprietăților ACID poate crește complexitatea sistemului și necesită expertiză și resurse semnificative.
În general, avantajele proprietăților ACID în DBMS depășesc dezavantajele. Ele oferă o abordare fiabilă și consecventă a datelor - management, asigurând integritatea, acuratețea și fiabilitatea datelor. Cu toate acestea, în unele cazuri, suprasolicitarea implementării proprietăților ACID poate cauza probleme de performanță și scalabilitate. Prin urmare, este important să echilibrăm beneficiile proprietăților ACID față de nevoile și cerințele specifice ale sistemului.
