
usar triggers o hacer calculos en la aplicacion
Publicado por apis (8 intervenciones) el 14/03/2008 17:41:53
Hi! queria saber que seria mejor utilizar para hacer esto:
Es la tabla de ventas y detalle de ventas y quiero saber cual es la forma mas eficiente de calcular el subtotal de la venta. Sera una aplcacion con vb .net y sql server express.
OPCION1
Se me ocurrio con triggers en el detalle de ventas, en el after insert que cada vez que inserto un articulo en el detalle de ventas agregar el precio de ese articulo en el subtotal de la venta y otro diferente para el update donde primero reste el precio que tenia antes y luego sume el nuevo precio para cada articulo que modfique, en el delete que reste solo el precio del articulo que estoy borrando
OPCION2
Luego se me ocurrio que cada vez que se haga un insert, update o delete que hiciera un sum de todos los articulos del detalle y luego lo guarde en el total de la venta asi siempre tendria un valor correcto.
OPCION3
Luego pense que talvez esa lógica la deberia poner en mi aplicacion y no en la base de datos ya que pues son calculos y segun yo creo que un programa hace mas rapido los calculos de sumas y restas y sql server es mas eficiente para mostrar y almacenar datos que para hacer calculos.
Ahora mi duda es cual de las ideas seria la mejor en cuanto a rapidez y eficiencia o para evitar cosas inecesarias. O hay alguna manera que sea mejor para hacer lo que quiero.
Por cuestiones de portabilidad pues no debe de haber problemas ya que sera siempre sql server express, no se tiene pensado que funcione con diferentes base de datos como mysql postgresql.
Solo quiero saber que seria lo mejor, hasta ahorita creo que lo mejor seria la opcion 2 ya que pues de todas formas necesitaria el trigger para que descuente del inventario y poner eso en la aplicacion se me hace poner mas updates y conexiones a la base de datos.
Gracias por leer el mensaje y agradecere sus respuestas
Es la tabla de ventas y detalle de ventas y quiero saber cual es la forma mas eficiente de calcular el subtotal de la venta. Sera una aplcacion con vb .net y sql server express.
OPCION1
Se me ocurrio con triggers en el detalle de ventas, en el after insert que cada vez que inserto un articulo en el detalle de ventas agregar el precio de ese articulo en el subtotal de la venta y otro diferente para el update donde primero reste el precio que tenia antes y luego sume el nuevo precio para cada articulo que modfique, en el delete que reste solo el precio del articulo que estoy borrando
OPCION2
Luego se me ocurrio que cada vez que se haga un insert, update o delete que hiciera un sum de todos los articulos del detalle y luego lo guarde en el total de la venta asi siempre tendria un valor correcto.
OPCION3
Luego pense que talvez esa lógica la deberia poner en mi aplicacion y no en la base de datos ya que pues son calculos y segun yo creo que un programa hace mas rapido los calculos de sumas y restas y sql server es mas eficiente para mostrar y almacenar datos que para hacer calculos.
Ahora mi duda es cual de las ideas seria la mejor en cuanto a rapidez y eficiencia o para evitar cosas inecesarias. O hay alguna manera que sea mejor para hacer lo que quiero.
Por cuestiones de portabilidad pues no debe de haber problemas ya que sera siempre sql server express, no se tiene pensado que funcione con diferentes base de datos como mysql postgresql.
Solo quiero saber que seria lo mejor, hasta ahorita creo que lo mejor seria la opcion 2 ya que pues de todas formas necesitaria el trigger para que descuente del inventario y poner eso en la aplicacion se me hace poner mas updates y conexiones a la base de datos.
Gracias por leer el mensaje y agradecere sus respuestas
Valora esta pregunta


0