¿qué es una transacción, para qué sirve y que tiene de ventajas?
Gracias
AcrraidX
Jorge Garrido wrote:
¿qué es una transacción, para qué sirve y que tiene de ventajas?
Lo podes ver como una forma empaquetada de ver un monton de actividades sobre la base de datos. P/ej agregar una factura podes verlo como bajar items de stock, agregar factura a base de facturas, las lineas a otras bases, tal vez agregar un nuevo cliente, aumentar datos en la contabilidad, etc, cosas que no son una operacion atomica en una base de datos normal. Con transacciones decis en determinado punto "comienzo transaccion" y empezas el proceso de hacer los cambios (algunos de los cuales pueden esperar informacion/confirmaciones/etc del usuario), y cuando la terminas, le haces un "commit" para dejar terminada esa transaccion y los datos queden confirmados y guardados de forma permanente. Pero si en algun paso de todo esto algo ocurre (desde que el usuario cancela porque cuando fue a pagar se encontro sin suficiente dinero a un apagon en el servidor de la base de datos), es bueno tener algun mecanismo para cancelar toda la transaccion, deshacer todos esos cambios que se hicieron en un punto u otro de ella, y ahi esta la instruccion "rollback". La importancia de esto se ve de forma bastante clara cuando se trabaja de forma concurrente con la base de datos por varias personas contra los mismos registros.
Saludos Gustavo