PDA

Ver la Versión Completa : Implementar Trigger o no?


golf2008
05-11-2008, 12:25:44
Hola a todos:
Quería saber comentarios respecto a las ventajas reales que tiene el uso de trigger y si se justifica el uso, como se implementa trabajando con Zeos.
Desde ya muchas gracias

BlueSteel
05-11-2008, 14:28:46
Hola a todos:
Quería saber comentarios respecto a las ventajas reales que tiene el uso de trigger y si se justifica el uso, como se implementa trabajando con Zeos.
Desde ya muchas gracias

Hola

con respecto a los Trigger, son muy ventajosos, ya que puedes ejecutar varios procesos cuando realizas una operación en una tabla... ya sea cuando insertas, cuando eliminas o cuando modificas... lo que debes realizas es la rutina adecuada para que cuando se presente cualquier operación de las que mencione te cambie un dato de la misma tabla o de otra tabla...

Eje... al eliminar un registro, mandar ese registro a un Histórico... Al vender un producto (facturar) que te disminuya el inventario..... Al eliminar una Venta (Factura/boleta) que te devuelva el producto al inventario... en fin, tienes tantas opciones, aplicaciones y beneficios que te lo recomiendo...

en cuanto a la implementación con Zeos y MySQL no sabria que decir, pero puedes buscar en el Foro (http://www.clubdelphi.com/foros/search.php)

Salu2:p:D

golf2008
05-11-2008, 18:28:45
Gracias BlueStell, muy clara la explicación.

golf2008
06-11-2008, 22:20:35
BlueSteel, como ejemplo citas que al facturar baje el inventario, ok.
Te pregunto: Cuál es la diferencia si hago una zquery con un INSERT INTO para las ventas(factura) y luego otro zquery con un UPDATE para actualizar el inventario. No es óptimo si lo hago asi ?

Desde ya muchas gracias

BlueSteel
07-11-2008, 00:36:00
BlueSteel, como ejemplo citas que al facturar baje el inventario, ok.
Te pregunto: Cuál es la diferencia si hago una zquery con un INSERT INTO para las ventas(factura) y luego otro zquery con un UPDATE para actualizar el inventario. No es óptimo si lo hago asi ?

Desde ya muchas gracias


Hola...

La diferencia esta en que si lo haces desde el mismo programa, lo estarás ejecutando del lado del Cliente (Estación de trabajo), por lo cual estarias desaprovechando las ventajas de tener un servidor de base de datos.... si lo ejecutas con un Trigger o SP estarías ejecutando en el servidor, por lo cual se optimiza más el proceso (parece que es así... que alguien me ratifique esto...:p)

Basicamente, si tu sistema es para ser usado por uno que otro usuario, no se notará la diferencia de realizar las actualizaciones dentro del código de tu sistema.... pero si en cambio el sistema es utilizado por muchos usuarios (diria más de 20 ó 50 en forma simultanea), es más eficiente realizar dichos procesos en el Servidor... usando Trigger, SP, Funciones y otras cosas que tengas los motores..... que para eso ha sido creado...

Salu2:p:D

golf2008
07-11-2008, 11:44:16
Nuevamente, gracias por la aclaración

golf2008
07-11-2008, 20:56:52
Hola a todos: respecto a los trigger, se pueden implementar usando Zeos ?
Gracias

rgstuamigo
07-11-2008, 23:24:09
Hola a todos: respecto a los trigger, se pueden implementar usando Zeos ?
Gracias
Hola golf2008,¿A que te refieres con esto?, los Trigger o Disparadores (http://dev.mysql.com/doc/refman/5.0/es/triggers.html) no se deben implemetar en la aplicacion, es decir se debe crear trigger en el servidor,osea es como crearse una tabla,procedimiento o funcion, pero la diferencia es (lo que se olvido de decirte el amigo BlueSteel)que es un tipo de proceso que se ejecuta automaticamente en el servidor, sin necesidad de llamarlo.Esto puede ser antes o despues de una actualizacion, eliminacion,etc. por ejemplo, claro que yo al momento de crearlo lo programo para eso.
Un ejemplo concreto que te puedo dar seria el siguiente:
"Cuando se ha hecho una venta de algun producto(medicamento) digamos de una Farmacia, logicamente cuando se vende, el stock disminuye, eso implica que deberia actualizar el stock cada ves que venda un producto;claro esta que lo podriamos hacer con una consulta y ya;pero lo ideal es tener un trigger que me haga la actualizacion del stock de medicamento AUTOMATICAMENTE,y ya no me preocupo por hacerlo yo cada ves que venda."
Desde luego puedes crearte un Trigger desde tu Aplicacion, nada ni nadie te impide hacer esto ,es solamente ejecutar el script como una consulta sql y ya, si te das cuenta yo podria crearme una tabla desde mi aplicacion, mandandole mi script de mi tabla en una consulta SQL al servidor, es lo mismo con los Trigger; Podrias utilizar ZQuery poner tu script a su propiedad SQL y ejecutar la consulta y listo;Claro que ha veces los script son bastantes largos y extensos por eso es mejor hacerlo en el servidor.
No sé si eso resuelve tu duda... :confused:
Saludos.....:cool: