Nueva en SQL preguntica sobre balances clientes

06/10/2004 - 01:32 por Berta Gomez | Informe spam
Hola, estoy empezando con un programita en sql server y he visto que este es
un foro muy bueno y tambien que no soy la unica aprendiz :)

En una aplicacion de cuentas por cobrar ya logre hacer que un formulario me
registre una transaccion positiva o negativa correctamente. Tengo una
tabla de clientes y requiero los balances para generar estados de cuenta.

Como es mejor hacer para que me mantenga los balances actualizados de los
clientes ? Tengo que calcularlos cada vez ? o guardarlos en una columna de
la tabla de clientes ? como es mejor y como se hace ?

Berta Gomez Gonzalez

Preguntas similare

Leer las respuestas

#6 Salvador Ramos
06/10/2004 - 09:21 | Informe spam
Pues aquí tienes otra opinión diferente, yo no soy partidario de tener estos
datos redundantes, salvo cuando por temas de rendimiento no quede otra
alternativa :-)

Personalmente, siempre que los tiempos de respuesta sean razonables para los
usuarios, utilizaría una vista que obtuviese estos resultados. Si ves que
los tiempos de respuesta son excesivos, te aconsejo que utilices una vista
indexada (ésta la pongo como segunda recomendación porque has comentado que
te estás iniciando con SQL Server, aunque si dispones de tiempo, te aconsejo
que leas en la ayuda sobre este tema e intentes implementarlo así).

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net
¿ Te interesa participar en las reuniones
del grupo de Usuarios de SQL Server y .NET ?
Se harán en levante de España, (Alicante o Murcia)?

"Berta Gomez" escribió en el mensaje
news:
Mostrar la cita
es
Mostrar la cita
me
Mostrar la cita
de
Mostrar la cita
#7 Berta Gomez
06/10/2004 - 12:54 | Informe spam
Mostrar la cita
los
Mostrar la cita
que
Mostrar la cita
aconsejo
Mostrar la cita
Si, ya he estado viendo en la ayuda sobre vistas indexadas sin embargo no
me queda claro si son muy eficientes. Segun lo que veo con una vista
indexada sql server lo que hace es llevar los campos redundantes por
nosotros (si no me equivoco). No seria igual en cuanto a performance que
llevarlo yo misma con un trigger ? o es que los triggers deben tratar de
evitarse ?

Pero pensando lo de la vista indexada como seria mas practico definirla:
guardando el resumen mensual para cada cliente en la vista ? o guardando el
valor pendiente de cada documento de debito ? esto ultimo por el tipico
reporte saldos por antiguedad.

Gracias nuevamente

Berta Gomez
#8 Salvador Ramos
06/10/2004 - 13:09 | Informe spam
Mostrar la cita
No, ya que la vista indexada, en cuanto a rendimiento, sólo supone la
actualización de un índice más. En cambio, seguro que el trigger que
realices tienes mayor carga de trabajo para el servidor.
Los triggers no deben evitarse, por supuesto que son muy útiles en multitud
de ocasiones. Simplemente en este caso considero más óptimo utilizar una
vista indexada, ya que el mantenimiento sería mucho más sencillo (sólo
habría que modificar la SELECT de la vista en caso de que tuviesemos algun
bug, y si tuviesemos un trigger, además de corregirlo tendríamos que
recalcular todos los datos erróneos ocasionados por dicho bug).

Mostrar la cita
el
Mostrar la cita
Pues eso depende de la información que necesites mostrar al usuario.

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net
¿ Te interesa participar en las reuniones
del grupo de Usuarios de SQL Server y .NET ?
Se harán en levante de España, (Alicante o Murcia)?

"Berta Gomez" escribió en el mensaje
news:#
Mostrar la cita
que
Mostrar la cita
vista
Mostrar la cita
el
Mostrar la cita
#9 Javier Loria
06/10/2004 - 14:28 | Informe spam
Hola Salvador:
Pues es una critica muy valida. Con frecuencia uso vistas indexadas para
este tipo de problemas, pero para periodos largos con muchos movimientos
puede ser lento, y uso una alternativas como esta.
No se si es claro que Movimientos puede no estar aplicado a ningun saldo
(por eso permite NULL en MesRegistro) y los saldos solamente sirve para
acumular "historicos". Por ejemplo el Saldo Actual puede calcularse como el
saldo del trimestre pasado mas los movimientos desde entonces.
En todo caso voy a hacer una pruebas de rendimiento.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda

"Salvador Ramos" wrote in message
news:
Mostrar la cita
estos
Mostrar la cita
los
Mostrar la cita
que
Mostrar la cita
aconsejo
Mostrar la cita
este
Mostrar la cita
cuenta.
Mostrar la cita
los
Mostrar la cita
columna
Mostrar la cita
#10 Salvador Ramos
06/10/2004 - 15:33 | Informe spam
De acuerdo, cuando las hagas nos cuentas como te ha ido :-)

La verdad que en cada caso hay que estudiar el volumen de información, la
frecuencia de uso de las consultas, la máquina que tengamos, etc Siempre
hay un montón de factores a analizar incluso puede que una misma solución al
problema sobre la misma base de datos no valga para dos empresas, debido a
los factores citados anteriormente.

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net
¿ Te interesa participar en las reuniones
del grupo de Usuarios de SQL Server y .NET ?
Se harán en levante de España, (Alicante o Murcia)?

"Javier Loria" escribió en el mensaje
news:
Mostrar la cita
para
Mostrar la cita
saldo
Mostrar la cita
el
Mostrar la cita
que
Mostrar la cita
vista
Mostrar la cita
formulario
Mostrar la cita
una
Mostrar la cita
Ads by Google
Search Busqueda sugerida