Bases de datos ¿Qué son las transacciones?

Ver el tema anterior Ver el tema siguiente Ir abajo

Bases de datos ¿Qué son las transacciones?

Mensaje por danyandroses el 26/07/08, 05:06 pm

Las transacciones

Desde el momento en que se inicia una transaccion, todos los cambios que realice el usuario quedan residentes en memoria, es decir estos cambios no se almacenan fisicamente.

Existen 2 ordenes en el control de transacciones:

COMMIT
Esta orden genera un punto de comprobacion ( Checkpoint ) y almacena fisicamente los cambios producidos desde el inicio de la transaccion o ultimo punto de comprobacion.

ROLLBACK
Esta orden trabaja directamente con los registro de rehacer y desecha todos los cambios producidos desde el ultimo COMMIT o ROLLBACK.

Esto es realmente util a la hora de realizar procesos complejos, en entornos de negocios o corporativos generalmente.

Como ejemplo en un pequeño sistema de ventas.

El proceso basico seria el siguiente:

El operador registra una venta...
El sitema hace los siguiente
1.- Registra los datos propios de la venta.
2.- Aumenta el dinero en caja.
3.- Disminuye el stock del producto.
4.- Posiblemente emite un ticket o imprime una factura.

Todos estos pasos son necesarios para completar el proceso de una venta si uno falla o genera una excepcion, es decir no se realiza, el proceso queda inconcluso y sera dificil correjir la inconsistencia de los datos.

Trabajando con transacciones la serie de ordenes insert y update pertenecen a una transaccion

Código:

BEGIN
  INSERT INTO ...;
  UPDATE .....;
  UPDATE ....;
  INSERT INTO ...;
  COMMIT;
EXCEPTION
  WHEN .... THEN
    ROLLBACK;
END;

Al relizarse esto ningun cambio sera almacenado hasta que se ejecute satisfactoriamente la ultima orden, es decir luego de darse la orden 'COMMIT'

Al generarse alguna excepcion sea del sistema o definido por el usuario se dara una orden de 'ROLLBACK' y todos los cambios realizados son eliminados.
avatar
danyandroses
Administrador lvl 1
Administrador lvl 1

Masculino
Cantidad de envíos : 84
Edad : 31
Localización : Chile
Pais :
Fecha de inscripción : 25/07/2008

Ver perfil de usuario

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.