Diseño de Base de Datos
Tengo un negocio en el cual ademas de recibir pagos en efectivo, también
recibo ordenes de compra que expide un sindicato por un cierto valor. Por
ejemplo, un cliente puede venir a comprar a mi negocio con una Orden de
Compra de $ 10,00 o sea, tiene $ 10,00 para gastar en mi negocio, a fin de
mes yo le cobro esos $ 10 pesos al sindicato correspondiente.
También puede darse el caso en el que el cliente puede pagarme con, por
ejemplo, 2 Ordenes de Compra cada una de $ 5,00 (que en total harían $
10,00). Pero yo debe ingresar en mi programa las dos ordenes por separado.
No puedo sumarlas he ingresar una sola Orden de $ 10,00.
También puede darse el caso en el que el Total de la venta sea de $ 15,00 y
el cliente me pague con una Orden de Compra de $ 10,00 y el resto me pague
en efectivo (o sea $ 5,00 en efectivo).
También, el cliente puede pagar el total de la compra solamente en Efectivo
o solamente con Ordenes de Compra.
En el caso en que el pago de la venta sea solamente en Efectivo, el valor de
IDOrden de la tabla tblPagos queda NULL.
En base a esto diseñe estas tablas
tblVentas
[IDVenta] (PORQUE)
[Fecha]
tblDetalleVentas
[IDVenta] (FK)
[Codigo] (PK) === > ' Codigo de barras del producto vendido
[Descripcion]
[Cantidad]
[Precio]
[Importe]
tblPagos
[IDVenta] (FK)
[IDPago] (PORQUE)
[Tipo] =====> ' Puede ser "Efectivo" u "Orden"
[Monto] =====> ' Cantidad de Efectivo que recibo o Monto de la Orden
[Numero] ====> ' Numero de la Orden que genera al sindicato, es unica no hay dos Ordenes con el mismo numero.
[IDCliente]
[FechaEmision] ==> 'Figura en la Orden, es la fecha en que el sindicato emitio esa orden
Este diseño me funciona bien, pero cuándo el pago de la venta es solamente en Efectivo (que es en la mayoría de los casos) los campos Numero, IDCliente, FechaEmision quedan en NULL. ¿Mi pregunta es si este diseño es correcto?, en caso de que no sea así, ¿cómo lo diseñarías tu?.
Un saludo
recibo ordenes de compra que expide un sindicato por un cierto valor. Por
ejemplo, un cliente puede venir a comprar a mi negocio con una Orden de
Compra de $ 10,00 o sea, tiene $ 10,00 para gastar en mi negocio, a fin de
mes yo le cobro esos $ 10 pesos al sindicato correspondiente.
También puede darse el caso en el que el cliente puede pagarme con, por
ejemplo, 2 Ordenes de Compra cada una de $ 5,00 (que en total harían $
10,00). Pero yo debe ingresar en mi programa las dos ordenes por separado.
No puedo sumarlas he ingresar una sola Orden de $ 10,00.
También puede darse el caso en el que el Total de la venta sea de $ 15,00 y
el cliente me pague con una Orden de Compra de $ 10,00 y el resto me pague
en efectivo (o sea $ 5,00 en efectivo).
También, el cliente puede pagar el total de la compra solamente en Efectivo
o solamente con Ordenes de Compra.
En el caso en que el pago de la venta sea solamente en Efectivo, el valor de
IDOrden de la tabla tblPagos queda NULL.
En base a esto diseñe estas tablas
tblVentas
[IDVenta] (PORQUE)
[Fecha]
tblDetalleVentas
[IDVenta] (FK)
[Codigo] (PK) === > ' Codigo de barras del producto vendido
[Descripcion]
[Cantidad]
[Precio]
[Importe]
tblPagos
[IDVenta] (FK)
[IDPago] (PORQUE)
[Tipo] =====> ' Puede ser "Efectivo" u "Orden"
[Monto] =====> ' Cantidad de Efectivo que recibo o Monto de la Orden
[Numero] ====> ' Numero de la Orden que genera al sindicato, es unica no hay dos Ordenes con el mismo numero.
[IDCliente]
[FechaEmision] ==> 'Figura en la Orden, es la fecha en que el sindicato emitio esa orden
Este diseño me funciona bien, pero cuándo el pago de la venta es solamente en Efectivo (que es en la mayoría de los casos) los campos Numero, IDCliente, FechaEmision quedan en NULL. ¿Mi pregunta es si este diseño es correcto?, en caso de que no sea así, ¿cómo lo diseñarías tu?.
Un saludo
1 respuesta
Respuesta de denciso
1