Une transaction est une seule unité logique de travail qui accède et modifie éventuellement le contenu d’une base de données. Transactions accédez aux données à l’aide d’opérations de lecture et d’écriture.
Afin de maintenir la cohérence dans une base de données, avant et après la transaction, certaines propriétés sont suivies. Ce sont des propriétés appelées ACIDES.
Atomicité
Par cela, nous entendons que la transaction entière a lieu en même temps ou ne se produit pas du tout. Il n’est pas à mi-chemin c’est à dire, les transactions ne se produisent pas partiellement. Chaque transaction est considérée comme une unité et exécute jusqu’à la fin ou n’est pas exécutée du tout. Il implique les deux opérations suivantes.
– Abort: Si une transaction avorte, les modifications apportées à la base de données ne sont pas visibles.
—Commit: Si une transaction est validée, les modifications apportées sont visibles.
L’atomicité est également connue sous le nom de « Règle du tout ou rien ».
Considérons la transaction T suivante composée de T1 et T2: Transfert de 100 du compte X au compte Y.,
Si la transaction échoue après la fin de T1, mais avant la fin de T2.(disons, après write(X) mais avant write (Y)), alors le montant a été déduit de X mais pas ajouté à Y. Il en résulte un état de base de données incohérent. Par conséquent, la transaction doit être exécutée dans son intégralité afin d’assurer l’exactitude de l’état de la base de données.
Cohérence
Cela signifie que les contraintes d’intégrité doivent être maintenues afin que la base de données soit cohérente avant et après la transaction. Il fait référence à l’exactitude d’une base de données., Se référant à l’exemple ci-dessus,
Le montant total avant et après la transaction doit être maintenu.
Total avant T se produit = 500 + 200 = 700.
Total après T se produit = 400 + 300 = 700.
Par conséquent, la base de données est cohérente. L’incohérence se produit au cas où T1 se termine mais T2 échoue. En conséquence, T est incomplet.
Isolation
Cette propriété garantit que plusieurs transactions peuvent se produire simultanément sans conduire à l’incohérence de l’état de la base de données. Les transactions se produisent indépendamment sans interférence., Les modifications survenant dans une transaction particulière ne seront visibles par aucune autre transaction tant que cette modification particulière de cette transaction n’aura pas été écrite en mémoire ou validée. Cette propriété garantit que l’exécution des transactions en même temps se traduira par un état qui est équivalent à un état atteint ceux-ci ont été exécutés en série dans un certain ordre.
Soit X = 500, Y = 500.
Considérons deux transactions T et T”.
Supposons que T a été exécutée jusqu’à Lire (Y) et puis T’ commence., En conséquence, l’entrelacement des opérations a lieu en raison de laquelle T « lit la valeur correcte de X mais la valeur incorrecte de Y et la somme calculée par
T »: (X + Y = 50, 000+500=50, 500)
n’est donc pas compatible avec la somme à la fin de la transaction:
T: (X + Y = 50, 000 + 450 = 50, 450).
Il en résulte une incohérence de la base de données, due à une perte de 50 unités. Par conséquent, les transactions doivent avoir lieu de manière isolée et les modifications ne doivent être visibles qu’après avoir été apportées à la mémoire principale.,
Durabilité:
Cette propriété garantit qu’une fois l’exécution de la transaction terminée, les mises à jour et les modifications de la base de données sont stockées et écrites sur le disque et qu’elles persistent même en cas de défaillance du système. Ces mises à jour deviennent permanentes et sont stockées dans une mémoire non volatile. Les effets de la transaction ne sont donc jamais perdus.,
Les propriétés ACID, dans leur ensemble, fournissent un mécanisme pour assurer l’exactitude et la cohérence d’une base de données de telle sorte que chaque transaction soit un groupe d’opérations qui agit d’une seule unité, produit des résultats cohérents, agit indépendamment des autres opérations et les mises à jour qu’elle effectue sont stockées de manière durable.
Cet article a été rédigé par Avneet Kaur. Si vous aimez GeeksforGeeks et souhaitez contribuer, vous pouvez également écrire un article en utilisant contribute.geeksforgeeks.org ou envoyez votre article à [email protected]., Voir votre article apparaissant sur la page principale GeeksforGeeks et aider les autres Geeks.