Cerințe ACID [| ]
Atomicitate - Atomicitate [| ]
Atomicitate garantează că nici o tranzacție este înregistrată în sistem parțial. Acestea vor fi executate fie toate sub-ei sau nu îndeplinite nici. Deoarece, în practică, este imposibil să se efectueze simultan și atomically întreaga secvență de operații în cadrul unei tranzacții, conceptul de „retroactivitate» (derulare înapoi): în cazul în care tranzacția nu finalizează, rezultatele tuturor încă efectele produse vor fi anulate, iar sistemul revine la «resetare externă» de stat - partea va părea că tranzacția nu a fost. (Desigur, contoare, indici și alte structuri interne poate fi schimbat, dar în cazul în care baza de date este programată corect, aceasta nu va afecta comportamentul său extern.)
Coerența - Coerența [| ]
Tranzactia ajunge la terminare normală (EOT - sfârșitul tranzacției, finalizarea tranzacției) și, prin urmare, stabilirea rezultatelor, salvează consistența bazei de date. Cu alte cuvinte, fiecare tranzacție este angajată cu succes doar prin definiție rezultate valide. Această condiție este necesară pentru a sprijini a patra proprietate.
Consecvența este un concept mai larg. De exemplu, în sistemul bancar poate fi o cerință ca suma debitată din același cont, suma datorată la alta. Această regulă de afaceri și nu poate fi garantată doar controale de integritate, acesta trebuie să respecte programatori atunci când scrieți codul de tranzacție. În cazul în care orice tranzacție va produce anulare, dar va face o admitere, sistemul va rămâne în starea incorectă și coerența proprietății vor fi încălcate.
În cele din urmă, încă o remarcă se referă la faptul că, în cursul consistenței tranzacției este necesară. În exemplul nostru, debitând și creditare vor probabil două diferite sub-între și punerea în aplicare a acestora va fi văzută în cadrul unui sistem de tranzacție inconsecvent. Cu toate acestea, nu trebuie să uităm că în cazul în care cerințele de izolare, nici alte tranzacții, această inconsecvență nu vor fi vizibile. Un atomicitatea garantează că o tranzacție va fi finalizat, sau nici unul dintre operațiunile de tranzacție nu va fi executat. Astfel, această incoerență intermediară este ascunsă.
Izolarea - Izolarea [| ]
În timpul tranzacției tranzacții concurente nu afectează rezultatul acesteia. Izolarea - cerere de scump, astfel încât există opțiuni care nu sunt în totalitate tranzacția de izolare în baza de date reale (nivel de izolare Citire repetabilă și mai jos).
Durabilitate - Rezistență [| ]
Indiferent de problemele de la nivelurile inferioare (de exemplu, de-energizarea sistemului sau defecte în echipamentul) modificările efectuate de tranzacții finalizate cu succes, noi trebuie să rămână salvate de sistem pentru a reveni la locul de muncă. Cu alte cuvinte, în cazul în care utilizatorul a primit confirmarea de la sistemul pe care se face tranzacția, poate fi sigur că modificările aduse acestora nu vor fi anulate din cauza unei defecțiuni.
A se vedea, de asemenea, [. | ]
Bibliografie [| ]
- P.A. Bernstein, N. Goodman, V. Hadzilacos. Controlul Concurrency și de recuperare în sisteme de baze de date. - Addison-Wesley, 1986.