Hola a todos.
Tengo una consulta conceptual que me gustaria entender.
¿cuando se dice que una base de datos es transaccional?
¿cuando se debe ocupar un modelo transaccional?
Gracias.
| |||
Base de datos Transaccional Hola a todos. Tengo una consulta conceptual que me gustaria entender. ¿cuando se dice que una base de datos es transaccional? ¿cuando se debe ocupar un modelo transaccional? Gracias. |
| |||
Hola, bueno, en realidad siempre lo deberia ser, de esta menra todo en tu sistema se basa en hacer transacciones, cosa que te da seguridad cuando haces por ej, una actualizacion masiva de datos o cualquier otra operacion: Veamos algo simple: que pasa si tu tienes que alctualizar los precios de 5000 articulos?, pues bien, tu irias uno por uno y cambiarias el precio , verdad?, ahora bien, que pasaria si en el articulo 4500 da un error?, esto significa que los articulos anteriores (del 1 al 4499) quedarian mal, porque la actualizacion fallo en el 4500 entonces todo se detiene pero lo que cambiaste quedo cambiado y eso no debe ser asi!! Al usar transacciones, esto no pasa, porque si algo falla, el server no le aplica los cambios a NINGUN registro y todo quedaria como antes. Ejemplo de transaccion: begin tran update articulos set precio=1500 if @@error<>0 begin rollback tran >>>> aqui desasemos los cambios por hubo un error raiserror 50000 'Error al actualizar precios' >>>Avisamos al usuario return -1 >>>nos vamos del procedimiento que intento actualizar los precios end commit tran >>>> si todo fue bien, entonces recien aqui el server aplica los cambios. Como veras, trabajar de forma transaccional te asegura la integridad de los datos y si algo sale mal, el server no aplica ningun cambio. Este ejemplo se base para Servidores SqlServer, SyBase Saludos
__________________ Pablo F. Savino --------------- Para aficionados a la Simulacion Aerea Virtual , visiten: http://www.cargovirtual.com |