Tranzacție - o secvență de operații pe baza de date, baza de date a considerat ca un întreg. Fie tranzacția reușește, iar modificările bazei de date înregistrările bazei de date efectuate de această tranzacție, în memoria externă, sau nici unul dintre aceste modificări nu sunt reflectate în starea bazei de date. Conceptul de tranzacție este necesară pentru a menține integritatea bazei de date logice.
Proprietatea pe care fiecare tranzacție începe cu o stare de bază de date holistică și lasă această integritate de stat după finalizarea acesteia, face foarte convenabil să se utilizeze noțiunea unei tranzacții ca o unitate de activitate de utilizator pe baza de date. Cu o bună gestionare a tranzacțiilor concurente din baza de date fiecare utilizator poate, în principiu, să se simtă ca singurul utilizator de bază de date.
Cu managementul de tranzacții într-un concept important de baze de date multi-utilizator asociat serializarea tranzacții. Executând concomitent serializare tranzacția se referă la o metodă de planificare muncii lor, în care efectul tranzacției amestecului total echivalent cu efectul unei execuții secvențiale. Este clar că, dacă este posibil să se realizeze într-adevăr un amestec de execuție serie de tranzacții pentru fiecare utilizator care a inițiat tranzacția este stabilit, prezența altor tranzacții va fi tăcut (cu excepția unor încetinind în comparație cu modul de un singur utilizator).
Atunci când se utilizează orice algoritm serializare poate fi situații de conflict între două sau mai multe tranzacții privind accesul la obiectele bazei de date. În acest caz, este necesar să se mențină serializare rollback (eliminarea tuturor modificărilor aduse bazei de date), în una sau mai multe tranzacții.
modele tranzacționale. Luați în considerare două modele de tranzacție utilizate în majoritatea sistemelor de management de baze de date comerciale: model de executarea automată a tranzacțiilor și a modelului de execuție tranzacție este gestionat, ambele se bazează pe instrucțiunea SQL - COMMIT și ROLLBACK.
executarea automată a tranzacției.
ANSI / ISO standard prevede că o tranzacție începe automat cu punerea în aplicare a programului de utilizator sau prima instrucțiune SQL. În continuare există o execuție secvențială a instrucțiunilor, până când tranzacția nu este finalizată până când una din cele două moduri:
• COMMIT instruire, care efectuează finalizarea tranzacției: modificările aduse bazei de date sunt permanente, iar noua tranzacție începe imediat după COMMIT instrucțiuni;
• instrucțiuni ROLLBACK, care anulează tranzacția curentă și se întoarce baza de date într-o stare de începerea tranzacției, o nouă tranzacție începe imediat după ROLLBACK.
Acest model se bazează pe modelul adoptat în baza de date DB2.