logo

Propriétés ACID dans le SGBD

Le SGBD est la gestion des données qui doivent rester intégrées lorsque des modifications y sont apportées. En effet, si l’intégrité des données est affectée, des données entières seront perturbées et corrompues. Par conséquent, pour maintenir l'intégrité des données, quatre propriétés sont décrites dans le système de gestion de base de données, connues sous le nom de ACIDE propriétés. Les propriétés ACID sont destinées à la transaction qui passe par un groupe différent de tâches, et nous voyons là le rôle des propriétés ACID.

Dans cette section, nous apprendrons et comprendrons les propriétés ACID. Nous apprendrons ce que représentent ces propriétés et à quoi sert chaque propriété. Nous comprendrons également les propriétés ACID à l’aide de quelques exemples.

Propriétés ACIDE

L'expansion du terme ACID définit pour :

Propriétés ACID dans le SGBD

1) Atomicité

Le terme atomicité définit que les données restent atomiques. Cela signifie que si une opération est effectuée sur les données, elle doit être effectuée ou exécutée complètement ou ne doit pas être exécutée du tout. Cela signifie en outre que l’opération ne doit pas s’interrompre ni s’exécuter partiellement. Dans le cas de l'exécution d'opérations sur la transaction, l'opération doit être exécutée complètement et non partiellement.

Exemple: Si Remo a un compte A ayant 30$ sur son compte à partir duquel il souhaite envoyer 10$ vers le compte de Sheero, qui est B. Dans le compte B, une somme de 100$ est déjà présente. Lorsque 10 $ seront transférés sur le compte B, la somme deviendra 110 $. Désormais, deux opérations vont avoir lieu. La première est que le montant de 10 $ que Remo souhaite transférer sera débité de son compte A, et le même montant sera crédité sur le compte B, c'est-à-dire sur le compte de Sheero. Maintenant, que se passe-t-il : la première opération de débit s’exécute avec succès, mais l’opération de crédit échoue cependant. Ainsi, dans le compte A de Remo, la valeur devient 20$, et pour celui de Sheero, elle reste 100$ comme elle était présente auparavant.

Propriétés ACID dans le SGBD

Dans le diagramme ci-dessus, on peut voir qu’après avoir crédité 10 $, le montant est toujours de 100 $ sur le compte B. Il ne s’agit donc pas d’une transaction atomique.

L'image ci-dessous montre que les opérations de débit et de crédit sont effectuées avec succès. La transaction est donc atomique.

Propriétés ACID dans le SGBD

Ainsi, lorsque le montant perd son atomicité, cela devient un problème énorme dans les systèmes bancaires, et l’atomicité est donc la priorité principale des systèmes bancaires.

2) Cohérence

Le mot cohérence signifie que la valeur doit toujours rester préservée. Dans SGBD , l'intégrité des données doit être maintenue, ce qui signifie que si une modification est apportée à la base de données, elle doit toujours rester préservée. Dans le cas de transactions, l'intégrité des données est essentielle pour que la base de données reste cohérente avant et après la transaction. Les données doivent toujours être correctes.

Exemple:

Propriétés ACID dans le SGBD

Dans la figure ci-dessus, il y a trois comptes, A, B et C, où A effectue une transaction T une par une avec B et C. Deux opérations ont lieu, à savoir le débit et le crédit. Le compte A débite d'abord 50 $ sur le compte B, et le montant du compte A est lu 300 $ par B avant la transaction. Après la transaction réussie T, le montant disponible en B devient 150 $. Maintenant, A débite 20 $ sur le compte C, et cette fois-là, la valeur lue par C est de 250 $ (ce qui est correct car un débit de 50 $ a été effectué avec succès sur B). L'opération de débit et de crédit du compte A vers C a été effectuée avec succès. Nous pouvons voir que la transaction est effectuée avec succès et que la valeur est également lue correctement. Ainsi, les données sont cohérentes. Dans le cas où la valeur lue par B et C est de 300 $, cela signifie que les données sont incohérentes car lorsque l'opération de débit sera exécutée, elles ne seront pas cohérentes.

3) Isolement

Le terme « isolement » signifie séparation. Dans le SGBD, l'isolement est la propriété d'une base de données où aucune donnée ne doit affecter l'autre et peut se produire simultanément. En bref, l'opération sur une base de données doit commencer lorsque l'opération sur la première base de données est terminée. Cela signifie que si deux opérations sont effectuées sur deux bases de données différentes, elles ne peuvent pas affecter la valeur l'une de l'autre. Dans le cas de transactions, lorsque deux ou plusieurs transactions se produisent simultanément, la cohérence doit rester maintenue. Toutes les modifications qui se produisent dans une transaction particulière ne seront pas vues par les autres transactions tant que la modification n'est pas validée dans la mémoire.

Exemple: Si deux opérations sont exécutées simultanément sur deux comptes différents, la valeur des deux comptes ne devrait pas être affectée. La valeur doit rester persistante. Comme vous pouvez le voir dans le diagramme ci-dessous, le compte A effectue des transactions T1 et T2 sur les comptes B et C, mais les deux s'exécutent indépendamment sans s'affecter mutuellement. C’est ce qu’on appelle l’isolement.

Propriétés ACID dans le SGBD

4) Durabilité

La durabilité garantit la permanence de quelque chose. Dans le SGBD, le terme durabilité garantit que les données après l'exécution réussie de l'opération deviennent permanentes dans la base de données. La durabilité des données doit être si parfaite que même si le système tombe en panne ou entraîne un crash, la base de données survit. Cependant, en cas de perte, il incombe au gestionnaire de récupération d'assurer la durabilité de la base de données. Pour valider les valeurs, la commande COMMIT doit être utilisée à chaque fois que nous apportons des modifications.

Par conséquent, la propriété ACID du SGBD joue un rôle essentiel dans le maintien de la cohérence et de la disponibilité des données dans la base de données.

Il s’agissait donc d’une introduction précise des propriétés ACID dans le SGBD. Nous avons également discuté de ces propriétés dans la section transaction.