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

#1 Isaías
06/10/2004 - 02:00 | Informe spam
Bueno, para eso puedes utilizar los triggers, para que
cuando se inserte un registro, dependiendo del tipo de
registro (Abono o Cargo), hagas la correspondiente SUMA
hacia el catalogo de clientes.

Saludos
Respuesta Responder a este mensaje
#2 Javier Loria
06/10/2004 - 02:52 | Informe spam
Hola:
En mi opinon, usaria Balances Mensuales y calcularia el mes en proceso
basado en los movimientos actuales.
Esto tiene cierta redundancia, lo que puede dar problemas, pero es mejor
a los triggers.
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

"Berta Gomez" wrote in message
news:
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




Respuesta Responder a este mensaje
#3 Berta Gomez
06/10/2004 - 03:33 | Informe spam
Hola:
En mi opinon, usaria Balances Mensuales y calcularia el mes en proceso
basado en los movimientos actuales.



Podrias explicarme mejor ? Te refieres a un proceso de cerrar los meses ?


Esto tiene cierta redundancia, lo que puede dar problemas, pero es


mejor
a los triggers.
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

"Berta Gomez" wrote in message
news:
> 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
>
>
>
>


Respuesta Responder a este mensaje
#4 Javier Loria
06/10/2004 - 05:36 | Informe spam
Hola:
Exacto. Una alternativa, sujeta a criticas:
==CREATE TABLE DocumentosxCobrar(
NumeroFactura INT
NOT NULL PRIMARY KEY
CHECK(NumeroFactura>0)
, CodigoCliente INT NOT NULL
CHECK(CodigoCliente>0)
, MontoFactura DECIMAL(9,2)
NOT NULL CHECK(MontoFactura>0)
)

CREATE TABLE SaldosMensuales(
NumeroFactura INT NOT NULL
REFERENCES DocumentosxCobrar(NumeroFactura)
, Mes SMALLDATETIME NOT NULL
CHECK( DATEPART(Minute,Mes)=0 AND
DATEPART(Hour,Mes)=0 AND
DATEPART(Day,Mes)=1)
, SaldoMensualInicial DECIMAL(9,2) NOT NULL
CHECK (SaldoMensualInicial>0)
, CONSTRAINT PK_SaldosMensuales
PRIMARY KEY(NumeroFactura, Mes)
)

CREATE TABLE Pagos(
NumeroRecibo INT NOT NULL
PRIMARY KEY
, FechaRecibo SMALLDATETIME NOT NULL
, NumeroFactura INT NOT NULL
REFERENCES DocumentosxCobrar(NumeroFactura)
, MontoAbono DECIMAL(9,2) NOT NULL
, MesRegistro SMALLDATETIME
NULL
CHECK( (DATEPART(Minute,MesRegistRo)=0
AND DATEPART(Hour,MesRegistRo)=0
AND DATEPART(Day,MesRegistRo)=1))
, CONSTRAINT FK_PagosSaldosMensuales
FOREIGN KEY (NumeroFactura, MesRegistro)
REFERENCES SaldosMensuales(NumeroFactura, Mes)
)
== Tiene un monton de "supuestos" que puede no se apliquen a tu situacion,
revisalo a ver si es un esquema que te gustaria usar.
Tiene la ventaja que no usa triggers (que hacen mas lenta la aplicacion)
y los saldos solo se usan como un punto de arranque para aplicar los pagos
de un periodo en particular, no necesariamente tiene que ser mensual, podria
ser de 3 meses.
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

"Berta Gomez" wrote in message
news:
> Hola:
> En mi opinon, usaria Balances Mensuales y calcularia el mes en


proceso
> basado en los movimientos actuales.

Podrias explicarme mejor ? Te refieres a un proceso de cerrar los meses ?

>
> Esto tiene cierta redundancia, lo que puede dar problemas, pero es
mejor
> a los triggers.
> 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
>
> "Berta Gomez" wrote in message
> news:
> > 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
> >
> >
> >
> >
>
>



Respuesta Responder a este mensaje
#5 Berta Gomez
06/10/2004 - 06:50 | Informe spam
Muchas gracias.

Berta Gomez


"Javier Loria" wrote in message
news:
Hola:
Exacto. Una alternativa, sujeta a criticas:
==> CREATE TABLE DocumentosxCobrar(
NumeroFactura INT
NOT NULL PRIMARY KEY
CHECK(NumeroFactura>0)
, CodigoCliente INT NOT NULL
CHECK(CodigoCliente>0)
, MontoFactura DECIMAL(9,2)
NOT NULL CHECK(MontoFactura>0)
)

CREATE TABLE SaldosMensuales(
NumeroFactura INT NOT NULL
REFERENCES DocumentosxCobrar(NumeroFactura)
, Mes SMALLDATETIME NOT NULL
CHECK( DATEPART(Minute,Mes)=0 AND
DATEPART(Hour,Mes)=0 AND
DATEPART(Day,Mes)=1)
, SaldoMensualInicial DECIMAL(9,2) NOT NULL
CHECK (SaldoMensualInicial>0)
, CONSTRAINT PK_SaldosMensuales
PRIMARY KEY(NumeroFactura, Mes)
)

CREATE TABLE Pagos(
NumeroRecibo INT NOT NULL
PRIMARY KEY
, FechaRecibo SMALLDATETIME NOT NULL
, NumeroFactura INT NOT NULL
REFERENCES DocumentosxCobrar(NumeroFactura)
, MontoAbono DECIMAL(9,2) NOT NULL
, MesRegistro SMALLDATETIME
NULL
CHECK( (DATEPART(Minute,MesRegistRo)=0
AND DATEPART(Hour,MesRegistRo)=0
AND DATEPART(Day,MesRegistRo)=1))
, CONSTRAINT FK_PagosSaldosMensuales
FOREIGN KEY (NumeroFactura, MesRegistro)
REFERENCES SaldosMensuales(NumeroFactura, Mes)
)
==> Tiene un monton de "supuestos" que puede no se apliquen a tu


situacion,
revisalo a ver si es un esquema que te gustaria usar.
Tiene la ventaja que no usa triggers (que hacen mas lenta la


aplicacion)
y los saldos solo se usan como un punto de arranque para aplicar los pagos
de un periodo en particular, no necesariamente tiene que ser mensual,


podria
ser de 3 meses.
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

"Berta Gomez" wrote in message
news:
> > Hola:
> > En mi opinon, usaria Balances Mensuales y calcularia el mes en
proceso
> > basado en los movimientos actuales.
>
> Podrias explicarme mejor ? Te refieres a un proceso de cerrar los meses


?
>
> >
> > Esto tiene cierta redundancia, lo que puede dar problemas, pero es
> mejor
> > a los triggers.
> > 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
> >
> > "Berta Gomez" wrote in message
> > news:
> > > 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
> > >
> > >
> > >
> > >
> >
> >
>
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida