Índice

Administrar las transacciones y los accesos coincidentes

1. Definición

El término «transacción» en el ámbito de las bases de datos relacionales se refiere a un conjunto de sentencias de actualización que forma un todo indisociable desde el punto de vista de la lógica aplicativa. Las sentencias de actualización de una transacción solo pueden registrarse definitivamente en la base de datos si todas ellas se ejecutan sin errores; si una de las sentencias de actualización falla, todas las modificaciones ya efectuadas en la transacción deben anularse. Al final de una transacción, la base de datos siempre se encuentra en un estado coherente desde el punto de vista de la lógica aplicativa.

A modo de ejemplo, consideremos una transacción de ingreso bancario constituida por tres sentencias de actualización:

  • un primer UPDATE para cargar la primera cuenta;

  • un segundo UPDATE para abonar la segunda cuenta;

  • un INSERT para guardar la operación en un registro.

Si el segundo UPDATE no tiene éxito, por una u otra razón, es necesario anular el primer UPDATE y no llevar a cabo la sentencia INSERT.

2. Administrar las transacciones

De manera predeterminada, MySQL funciona en un modo de validación automática (opción AUTOCOMMIT igual a 1): cada modificación efectuada es inmediata y definitivamente registrada en la base de datos, lo que no permite administrar correctamente las transacciones.

Por otro lado, la administración de las transacciones ...