Junior
¿Por qué se utilizan transacciones en bases de datos?
sobes.tech AI
Respuesta de la IA
Las transacciones garantizan la atomicidad, consistencia, aislamiento y durabilidad (ACID) de las operaciones con bases de datos.
- Atomicidad: Todas las operaciones en una transacción se completan en su totalidad o no se realizan en absoluto. Si una operación falla, se revierten todas.
- Consistencia: La transacción lleva la base de datos de un estado consistente a otro. Se previenen violaciones de restricciones (por ejemplo, claves únicas).
- Aislamiento: Cada transacción se ejecuta como si fuera la única en el sistema. Los cambios realizados por una transacción no son visibles para otras hasta que se completa.
- Durabilidad: Tras la finalización exitosa de una transacción, sus cambios se guardan y no se pierden incluso en caso de fallo del sistema.
Las transacciones son importantes para garantizar la integridad de los datos, especialmente al realizar varias operaciones relacionadas que deben ejecutarse juntas o no ejecutarse en absoluto. Un ejemplo es transferir dinero de una cuenta de ahorros a una cuenta corriente.
-- Inicio de la transacción
START TRANSACTION;
-- Deducción de la primera cuenta
UPDATE accounts SET balance = balance - 100 WHERE account_id = 1;
-- Si la operación anterior fue exitosa, crédito en la segunda cuenta
UPDATE accounts SET balance = balance + 100 WHERE account_id = 2;
-- Verificación de que ambas operaciones fueron exitosas y sin errores
-- IF condición de error THEN
-- ROLLBACK; -- Revertir todos los cambios
-- ELSE
-- COMMIT; -- Confirmar todos los cambios
-- END IF;
-- Suponiendo que ambas operaciones se completaron con éxito para el ejemplo
COMMIT; -- Confirmar la transacción
-- ROLLBACK; -- Revertir la transacción en caso de error