Junior — Middle
Ce metode se utilizează pentru a menține coerența datelor în bazele de date relaționale?
sobes.tech AI
Răspuns de la AI
Pentru a menține coerența datelor în bazele de date relaționale, se aplică următoarele metode:
-
Tranzacții — permit executarea unui set de operațiuni ca o singură unitate. Dacă o operațiune eșuează, toate modificările sunt anulate, asigurând integritatea datelor.
-
Principiile ACID:
- Atomicitate — operațiunile din cadrul unei tranzacții sunt executate complet sau deloc.
- Consistență — baza de date trece de la o stare corectă la alta.
- Izolare — tranzacțiile paralele nu se influențează reciproc.
- Durabilitate — odată confirmată, tranzacția rămâne, chiar și în caz de defecțiuni.
-
Restricții de integritate: chei primare, chei externe, restricții unice, verificări (CHECK), care previn introducerea de date incorecte.
-
Blocări și niveluri de izolare — gestionează accesul concurent, prevenind conflictele și asigurând coerența.
Exemplu în Go cu utilizarea tranzacțiilor:
trx, err := db.Begin()
if err != nil {
// tratare eroare
}
_, err = trx.Exec("UPDATE conturi SET balance = balance - 100 WHERE id = ?", fromID)
if err != nil {
trx.Rollback()
// tratare eroare
}
_, err = trx.Exec("UPDATE conturi SET balance = balance + 100 WHERE id = ?", toID)
if err != nil {
trx.Rollback()
// tratare eroare
}
err = trx.Commit()
if err != nil {
// tratare eroare
}
În acest exemplu, transferul de bani între conturi are loc în cadrul unei singure tranzacții, garantând coerența datelor.