Bases des bases de données

Parmi les propriétés ACID qu'une transaction doit posséder, laquelle garantit qu'un virement qui débite le compte A et crédite le compte B est soit effectué entièrement, soit pas du tout, même si une panne survient en cours de route ?

  1. ALa cohérence (Consistency)
  2. BLa durabilité (Durability)
  3. CL'atomicité (Atomicity)
Afficher la réponse et l'explication

Réponse : C. L'atomicité (Atomicity)

Les propriétés ACID tirent leur nom des initiales de 4 propriétés qu'une transaction doit satisfaire. L'atomicité (Atomicity) signifie que les opérations d'une transaction sont soit toutes exécutées, soit aucune ; en cas de panne, les mises à jour déjà effectuées sont annulées. La cohérence (Consistency) signifie que les données continuent de satisfaire les contraintes d'intégrité (soldes jamais négatifs, clés étrangères faisant toujours référence à des lignes existantes, etc.) avant et après la transaction. L'isolation (Isolation) signifie que des transactions exécutées simultanément n'interfèrent pas entre elles et produisent le même résultat que si elles avaient été exécutées l'une après l'autre. La durabilité (Durability) signifie que les résultats d'une transaction validée ne sont pas perdus, même si une panne survient ensuite. La propriété du « tout ou rien » évoquée dans la question est l'atomicité.

S'entraîner sur ce thème Retour au thème

Autres questions sur Bases des bases de données

  1. La quantité en stock d'un produit dans une table Stock vaut 10. La transaction T1 lit la quantité en stock et réécrit cette valeur moins 3, et T2 lit la quantité en stock et réécrit cette valeur moins 5. Si elles s'exécutent sans poser de verrou, dans l'ordre lecture de T1, lecture de T2, écriture de T1, écriture de T2, quelle est la quantité en stock finale ?
  2. Parmi les problèmes qui surviennent lorsque des transactions s'exécutent simultanément, quelle description d'une lecture sale (dirty read) est correcte ?
  3. La transaction T1 a exécuté SELECT COUNT(*) FROM Commande WHERE Montant >= 1000 et a obtenu 8. Juste après, T2 a inséré une ligne de commande d'un montant de 2000 et l'a validée. Lorsque T1 a exécuté de nouveau la même instruction SELECT, elle a obtenu 9. De quel phénomène s'agit-il ?
  4. Parmi les niveaux d'isolation définis par la norme SQL, quelle combinaison indique correctement les phénomènes qui peuvent se produire avec READ COMMITTED ?
  5. La transaction T1 détient un verrou partagé sur une ligne et la lit. Sur la même ligne, T2 demande un verrou partagé et T3 un verrou exclusif. Quelle affirmation est correcte pour la période qui précède la libération du verrou par T1 ?