Junior — Middle
Kādus paņēmienus izmanto, lai saglabātu datu saskaņotību relāciju datu bāzēs?
sobes.tech AI
Atbilde no AI
Lai nodrošinātu datu saskaņotību relāciju datu bāzēs, tiek izmantotas šādas metodes:
-
Transakcijas — ļauj veikt virkni operāciju kā vienu vienību. Ja viena operācija neizdodas, visas izmaiņas tiek atceltas, nodrošinot datu integritāti.
-
ACID principi:
- Atomiskums — operācijas transakcijas ietvaros vai tiek pilnībā izpildītas, vai vispār ne.
- Saskaņotība — datu bāze pāriet no viena pareiza stāvokļa uz citu.
- Izolācija — paralēlas transakcijas neietekmē viena otru.
- Ilgstošums — pēc apstiprināšanas izmaiņas paliek pat avāriju gadījumā.
-
Integritātes ierobežojumi: galvenie atslēgas, ārējās atslēgas, unikālie ierobežojumi, pārbaudes (CHECK), kas novērš nepareizu datu ievadi.
-
Bloķēšanas un izolācijas līmeņi — pārvalda paralēdo piekļuvi, novērš konfliktus un nodrošina saskaņotību.
Piemērs Go valodā ar transakcijām:
trx, err := db.Begin()
if err != nil {
// kļūdas apstrāde
}
_, err = trx.Exec("UPDATE accounts SET balance = balance - 100 WHERE id = ?", fromID)
if err != nil {
trx.Rollback()
// kļūdas apstrāde
}
_, err = trx.Exec("UPDATE accounts SET balance = balance + 100 WHERE id = ?", toID)
if err != nil {
trx.Rollback()
// kļūdas apstrāde
}
err = trx.Commit()
if err != nil {
// kļūdas apstrāde
}
Šajā piemērā naudas pārskaitījums starp kontiem notiek vienā transakcijā, nodrošinot datu saskaņotību.