Transacciones en Bases de Datos: Principios ACID y su Importancia

Clase 15 de 22Curso de Java SE: SQL y Bases de Datos

Resumen

Las transacciones representan un conjunto de operaciones o acciones que deben tratarse como una unidad atómica e indivisible. Se utilizan para garantizar la consistencia y la integridad de los datos, lo que implica que se cumplan todas las operaciones o ninguna en caso de fallos.

Commit: El commit (confirmación) es una operación que se utiliza para finalizar exitosamente una transacción.

Rollback: El rollback (reversión) es una operación que se utiliza para deshacer todos los cambios realizados en una transacción y devolver la base de datos a su estado anterior a la transacción.

Las transacciones en Java con JDBC siguen el modelo ACID, que garantiza las siguientes propiedades:

  • Atomicidad (Atomicity): Una transacción se considera una unidad atómica, lo que significa que todas sus operaciones se ejecutan en su totalidad o ninguna de ellas se ejecuta en absoluto. Si ocurre algún error o fallo durante la transacción, se revierten todas las operaciones realizadas hasta el punto en que se produjo el error.
  • Consistencia (Consistency): La transacción debe asegurar que la base de datos pase de un estado válido a otro estado válido. Esto implica que todas las reglas y restricciones de integridad de los datos se mantengan antes y después de la transacción.
  • Aislamiento (Isolation): Las transacciones deben ser aisladas entre sí, lo que significa que los cambios realizados por una transacción no deben ser visibles para otras transacciones hasta que la transacción se haya completado correctamente. Esto evita problemas de concurrencia y garantiza la coherencia de los datos.
  • Durabilidad (Durability): Una vez que una transacción se completa correctamente, los cambios realizados en la base de datos deben ser permanentes y persistir incluso en caso de fallos del sistema o reinicios.