Junior
Pourquoi utilise-t-on des transactions dans une base de données?
sobes.tech IA
Réponse de l'IA
Les transactions garantissent l'atomicité, la cohérence, l'isolation et la durabilité (ACID) des opérations sur la base de données.
- Atomicité : Toutes les opérations d'une transaction sont entièrement effectuées ou pas du tout. Si une opération échoue, tout est annulé.
- Cohérence : La transaction amène la base de données d'un état cohérent à un autre. Les violations de contraintes (par exemple, clés uniques) sont empêchées.
- Isolation : Chaque transaction s'exécute comme si elle était la seule dans le système. Les changements effectués par une transaction ne sont pas visibles pour les autres jusqu'à sa fin.
- Durabilité : Après la réussite d'une transaction, ses modifications sont enregistrées et ne sont pas perdues même en cas de panne du système.
Les transactions sont importantes pour assurer l'intégrité des données, surtout lors de l'exécution de plusieurs opérations liées qui doivent être effectuées ensemble ou pas du tout. Un exemple est le transfert d'argent d'un compte d'épargne à un compte courant.
-- Début de la transaction
START TRANSACTION;
-- Débit du premier compte
UPDATE accounts SET balance = balance - 100 WHERE account_id = 1;
-- Si l'opération précédente a réussi, crédit du second compte
UPDATE accounts SET balance = balance + 100 WHERE account_id = 2;
-- Vérification que les deux opérations ont réussi sans erreur
-- IF condition d'erreur THEN
-- ROLLBACK; -- Annuler tous les changements
-- ELSE
-- COMMIT; -- Valider tous les changements
-- END IF;
-- En supposant que les deux commandes ont été exécutées avec succès pour l'exemple
COMMIT; -- Confirmer la transaction
-- ROLLBACK; -- Annuler la transaction en cas d'erreur