Hoy vamos a trabajar con transacciones en Microsoft Access. Así es, esa pequeña base de datos, que en mi opinión es un gran caballito de guerra, también trabaja con transacciones.
Vamos a empezar por definir que es una transacción, en la página de Microsoft nos dicen que una transacción es:
"Una transacción es una secuencia de operaciones realizadas como una sola unidad lógica de trabajo. Una unidad lógica de trabajo debe exhibir cuatro propiedades, conocidas como propiedades de atomicidad, coherencia, aislamiento y durabilidad (ACID), para ser calificada como transacción."
Lo que quiere decir que una transacción se compone de mas de una operación en una base de datos y que esta tiene validez únicamente si se completan todas o ninguna.
El ejemplo clásico de esto, son las dos operaciones que se realizarían en el aplicativo de un banco al momento de debitar una cuenta por un monto y acreditar otra por dicho valor.
Dicha operación solo tiene validez si ambas operaciones se ejecutan. ¿Pensemos que pasaría si solo se debita la primera cuenta? Tendríamos una disminución en el saldo de la misma y la cuenta de destino no registraría ningún incremento, es decir: el dinero quedaría en una especie de limbo.
Para evitar esto, las dos operaciones se deben empaquetar en una transacción, así, esta solo tendrá validez si se ejecutan las dos o ninguna.
Pasemos de la teoría al ejemplo. Vamos a trabajar con una sencilla base de datos que solo tiene una tabla con la siguiente información:
Nuestra misión es debitar (disminuir) la cuenta de Eduardo en $100 y acreditar (incrementar) la cuenta de Diana en ese mismo valor utilizando una transacción.