Transactions

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation des bases de données


Une transaction est un groupe d'actions qui doivent être menées avec succès sur une ou plusieurs tables dans une base de données avant d'être validées (rendues définitives). Si l'une des actions du groupe échoue, toutes les actions sont abandonnées (annulées).

Les transactions garantissent ce qui suit :

  • Toutes les mises à jour d'une même transaction sont soit validées, soit annulées et ramenées à leur état précédent. C'est ce que nous appelons atomicité.
  • Une transaction est une transformation valide de l'état d'un système, en maintenant les constantes de cet état. C'est ce que nous appelons cohérence.
  • Les transactions simultanées ne voient pas les résultats partiels et non validés les unes des autres afin de ne pas créer d'incohérences dans l'état de l'application. C'est ce que nous appelons isolation.
  • Les mises à jour validées des enregistrements survivent aux pannes, y compris les pannes de communication, les pannes de processus et les pannes système des serveurs. C'est ce que nous appelons durabilité.

Les transactions protègent ainsi contre les défaillances matérielles qui se produisent au milieu d'une commande de base de données ou d'un ensemble de commandes. L'ouverture d'une transaction vous permet de bénéficier d'un état durable après les pannes survenues sur les supports disque. Les transactions constituent aussi la base du contrôle simultané de plusieurs utilisateurs sur les serveurs SQL. Lorsque tous les utilisateurs interagissent avec la base de données par le biais de transactions, les commandes d'un utilisateur ne peuvent pas altérer l'unité d'une transaction d'un autre utilisateur. A la place, le serveur SQL planifie les transactions entrantes, qui réussissent ou échouent en bloc.

La prise en charge des transactions ne fait pas partie de la plupart des bases de données locales, bien qu'elle soit fournie par la base de données InterBase locale.

Pour plus de détails sur la gestion des transactions, voir :

Dans les applications multiniveaux, vous pouvez créer des transactions qui comprennent des actions autres que des opérations de base de données ou qui englobent plusieurs bases de données. Pour plus de détails sur l'utilisation des transactions dans les applications multiniveaux, voir Gestion des transactions dans les applications multiniveaux.

Voir aussi