Conclusiones
Una transacción es una unidad lógica de trabajo que debe completarse íntegramente o no ejecutarse—es el mecanismo que garantiza la coherencia de los datos frente a fallos y acceso concurrente. Las propiedades ACID definen la garantía que proporciona un SGBDR.
La Atomicidad asegura que la transacción es "todo o nada": si falla en cualquier punto, todos los cambios se revierten. Esto previene estados inconsistentes como dinero desaparecido en transferencias bancarias sin aparecer en la otra cuenta.
La Consistencia garantiza que la transacción llevará la base de datos de un estado válido a otro estado válido según las reglas de negocio. Únicamente datos correctos se almacenan; nunca se violarán restricciones de integridad.
El Aislamiento asegura que transacciones concurrentes no interfieren entre sí, evitando lecturas sucias, lecturas fantásma y actualizaciones fantasma. Los niveles de aislamiento (READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE) ofrecen diferentes trade-offs entre consistencia y rendimiento.
La Durability garantiza que datos confirmados (committed) persisten incluso ante fallos del sistema. Una transacción completada no se perderá aunque el servidor se caiga. El control de concurrencia mediante locks y log de bits (WAL) implementan estas garantías.
Entender transacciones es crítico para desarrollar aplicaciones confiables que manejan datos importantes. El mal manejo de transacciones causa corrupción de datos, pérdidas financieras y desperfectos en sistemas. Los ORM modernos abstraen este detalle, pero comprender el mecanismo subyacente es esencial.