Une transaction est une unité de travail définie dans une application et exécutée par rapport à une base de données. Une transaction démarre, les modifications sont effectuées par rapport à la base de données, puis la transaction est validée ou annulée. Une fois la transaction validée, les modifications qu'elle effectue deviennent accessibles aux autres utilisateurs et applications.
Les transactions possèdent les propriétés « ACID » standard suivantes que les utilisateurs et applications ont adoptées :
Atomicité : une transaction adopte le comportement tout ou rien. Si cette transaction est validée, toutes ses modifications s'appliquent à la base de données. Si elle est annulée, aucune de ses modifications n'est appliquée.
Cohérence : une transaction conserve la base de données dans un état cohérent.
Isolation : une transaction peut isoler ses modifications des autres transactions jusqu'à ce qu'elle les valide. Les autres utilisateurs ne peuvent pas afficher le processus interne de la transaction en cours.
Durabilité : lorsqu'une transaction valide les modifications, les résultats sont permanents.
Pour appliquer ces propriétés, les systèmes de gestion de base de données utilisent différents mécanismes de verrouillage afin de protéger plusieurs transactions simultanées ou de les isoler les unes des autres.