Un Consejo por favor...

17/04/2006 - 17:41 por Nohel Hernandez | Informe spam
Saludos a toda la gente del Foro, gracias por las respuestas recibidas
anteriormente y por la que espero recibir el dia de hoy :-)

Tengo una duda con respecto al almacenamiento de cierta información, me
explico:

Una Empresa presta sus servicios a 150.000 clientes, este servicio se
factura mensualmente pero cada pago esta dividido a su vez en renglones y la
sumatoria de estos renglones determinan el monto mensual a pagar por cada
cliente, ejemplo:

Costo del Servicio para los meses de Enero a Marzo 2006 = 5.000 cada mes
Que se divide en:
Renglon 1: 3.000
Renglon 2: 1.500
Renglon 3: 500

Nota: Las tarifas son UNICAS para todos los clientes.

Las tarifas mensuales de cada renglon pueden cambiar tanto para todos los
renglones como para uno solo de ellos, tengo una tabla de tarifas por
periodo de fechas que incluye el costo de cada renglon para la fecha
determinada.

Costo del Servicio para los meses de Abril a Julio 2006 = 6.000 cada mes
Que se divide en:
Renglon 1: 3.000
Renglon 2: 2.000
Renglon 3: 1.000

El Cliente puede Efectuar un solo pago que incluye varios meses (que pueden
ser tarifas distintas), entonces dentro de mi recibo de pago tengo un
renglon que indica

Cliente X cancela Enero a Abril por un monto de 21.000

Ahora el objeto de mi pregunta, que me aconsejan uds.??

Opcion 1.- grabar un unico renglon con el total que esta pagando y cuando
requiera un detalle ejecutar un Store Procedure que desgloce la información
y me retorne algo asi:
Cliente X cancelo 21.000
Renglon 1 Enero 2006 : 3.000
Renglon 2 Enero 2006: 1.500
Renglon 3 Enero 2006: 500
Renglon 1 Febrero 2006 : 3.000
Renglon 2 Febrero 2006: 1.500
Renglon 3 Febrero 2006: 500
Renglon 1 Marzo 2006 : 3.000
Renglon 2 Marzo 2006: 1.500
Renglon 3 Marzo 2006: 500
Renglon 1 Abril 2006 : 3.000
Renglon 2 Abril 2006: 2.000
Renglon 3 Abril 2006: 1.000
Total: 21.000

Opcion 2.- Cada vez que paga un cliente tener una tabla de detalle que
almacene cada renglon involucrado en el pago ???

Mis dudas son las siguientes:

En la opción 1, creo que recargaría mucho el servidor ejecutando los Store
Procedures que me retornen el detalle de cada pago, ya que puede existir el
caso que un usuario requiera un reporte que me indique cuanto se ha cobrado
por un renglon especifico en un tiempo determinado... Eso implicaria
desglozar 150.000 pagos por el numero de meses que requiera el usuario

En la opcion 2.- Por el volumen de clientes, me preocupa el crecimiento de
la base de datos ya que un mes puede representar 450.000 registros solo en
el detalle mas 150.000 registros en el pago por lo cual se podria proyectar
un crecimiento de 600.000 mil registros mensuales

Hasta el momento pienso que lo mas sano sería sacrificar espacio en disco y
utilizar la opcion nro. 2, pero que me aconsejan Uds???


Gracias nuevamente por el tiempo que dedicaron a leer mi inquietud



Saludos


Nohel Hernández
Caracas - Venezuela

El menos común de los sentidos es El Sentido Común
 

Leer las respuestas

#1 Isaias
17/04/2006 - 20:38 | Informe spam
Hola Nohel

Si cuentas con ESPACIO EN DISCO, yo guardaria a nivel detalle, porque como
dices, habra clientes que quieran saber a NIVEL DETALLE que han pagado y como
lo han pagado.

Saludos
IIslas


"Nohel Hernandez" escribió:

Saludos a toda la gente del Foro, gracias por las respuestas recibidas
anteriormente y por la que espero recibir el dia de hoy :-)

Tengo una duda con respecto al almacenamiento de cierta información, me
explico:

Una Empresa presta sus servicios a 150.000 clientes, este servicio se
factura mensualmente pero cada pago esta dividido a su vez en renglones y la
sumatoria de estos renglones determinan el monto mensual a pagar por cada
cliente, ejemplo:

Costo del Servicio para los meses de Enero a Marzo 2006 = 5.000 cada mes
Que se divide en:
Renglon 1: 3.000
Renglon 2: 1.500
Renglon 3: 500

Nota: Las tarifas son UNICAS para todos los clientes.

Las tarifas mensuales de cada renglon pueden cambiar tanto para todos los
renglones como para uno solo de ellos, tengo una tabla de tarifas por
periodo de fechas que incluye el costo de cada renglon para la fecha
determinada.

Costo del Servicio para los meses de Abril a Julio 2006 = 6.000 cada mes
Que se divide en:
Renglon 1: 3.000
Renglon 2: 2.000
Renglon 3: 1.000

El Cliente puede Efectuar un solo pago que incluye varios meses (que pueden
ser tarifas distintas), entonces dentro de mi recibo de pago tengo un
renglon que indica

Cliente X cancela Enero a Abril por un monto de 21.000

Ahora el objeto de mi pregunta, que me aconsejan uds.??

Opcion 1.- grabar un unico renglon con el total que esta pagando y cuando
requiera un detalle ejecutar un Store Procedure que desgloce la información
y me retorne algo asi:
Cliente X cancelo 21.000
Renglon 1 Enero 2006 : 3.000
Renglon 2 Enero 2006: 1.500
Renglon 3 Enero 2006: 500
Renglon 1 Febrero 2006 : 3.000
Renglon 2 Febrero 2006: 1.500
Renglon 3 Febrero 2006: 500
Renglon 1 Marzo 2006 : 3.000
Renglon 2 Marzo 2006: 1.500
Renglon 3 Marzo 2006: 500
Renglon 1 Abril 2006 : 3.000
Renglon 2 Abril 2006: 2.000
Renglon 3 Abril 2006: 1.000
Total: 21.000

Opcion 2.- Cada vez que paga un cliente tener una tabla de detalle que
almacene cada renglon involucrado en el pago ???

Mis dudas son las siguientes:

En la opción 1, creo que recargaría mucho el servidor ejecutando los Store
Procedures que me retornen el detalle de cada pago, ya que puede existir el
caso que un usuario requiera un reporte que me indique cuanto se ha cobrado
por un renglon especifico en un tiempo determinado... Eso implicaria
desglozar 150.000 pagos por el numero de meses que requiera el usuario

En la opcion 2.- Por el volumen de clientes, me preocupa el crecimiento de
la base de datos ya que un mes puede representar 450.000 registros solo en
el detalle mas 150.000 registros en el pago por lo cual se podria proyectar
un crecimiento de 600.000 mil registros mensuales

Hasta el momento pienso que lo mas sano sería sacrificar espacio en disco y
utilizar la opcion nro. 2, pero que me aconsejan Uds???


Gracias nuevamente por el tiempo que dedicaron a leer mi inquietud



Saludos


Nohel Hernández
Caracas - Venezuela

El menos común de los sentidos es El Sentido Común




Preguntas similares