Una transacción es una unidad de trabajo definida por la aplicación realizada contra una base de datos. Se inicia una transacción, se realizan modificaciones contra la base de datos y, a continuación la transacción se confirma o se deshace. Una vez confirmada la transacción, los cambios realizados por la transacción se hacen visibles para otros usuarios y aplicaciones.
Las transacciones tienen las siguientes propiedades "ACID" estándar, en las que confían los usuarios y las aplicaciones:
Atómica: una transacción exhibe un comportamiento todo o nada. Si se confirma, todos los cambios se aplican a la base de datos. Si se deshace, ninguno de sus cambios se aplica.
Coherente: una transacción deja la base de datos en un estado coherente.
Aislada: una transacción puede aislar sus cambios de otras transacciones hasta que los confirme. Otros usuarios no ven el trabajo interno de la transacción mientras está en curso.
Duradera: una vez que una transacción se confirma, sus resultados son persistentes.
Para lograr estas propiedades, los sistemas de administración de bases de datos utilizan una variedad de mecanismos de bloqueo para garantizar que varias transacciones simultáneas se blinden o se aíslen entre sí.