Les propriétés ACID sont un ensemble de garanties essentielles qui assurent la fiabilité des transactions dans une base de données, notamment dans les systèmes critiques (banque, santé, e-commerce, etc.).
(Atomicité, Cohérence, Isolation, Durabilité)
1. Atomicité
« Tout ou rien »
Une transaction est indivisible : si l’une de ses opérations échoue, toutes les modifications sont annulées (rollback).
Exemple : lors d’un virement bancaire, si le débit du compte source réussit mais le crédit du compte destinataire échoue, le débit est annulé.
2. Cohérence
« Respect des règles métier »
La transaction préserve les contraintes de la base (clés primaires, clés étrangères, champs non nuls, règles métier). Elle ne laisse jamais la base dans un état invalide.
Exemple : on ne peut pas insérer un client sans email si la colonne email est définie comme NOT NULL.
3. Isolation
« Chacun chez soi, même en foule »
Les transactions exécutées simultanément ne doivent pas se perturber mutuellement. Chaque transaction voit la base comme si elle était seule à s’exécuter.
Exemple : deux personnes ne peuvent pas réserver la dernière place d’un vol en même temps.
4. Durabilité
« Une fois validé, c’est gravé »
Dès qu’une transaction est validée (commit), ses effets sont sauvegardés de façon permanente, même en cas de panne électrique, crash serveur ou redémarrage.