Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/04/2011, 07:25
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Dudas con Tablas

Bien, te has topado con un problema que es común en los ejercicios de Analisis de Sistemas I y Base de Datos I y II, que es el caso de sistemas de facturación.
La mejor forma de resolverlo es mirando ortodoxamente lo que tienes en el sistema:
- Existen dos tipos de facturas, cada una de ellas tiene atributos similares y algunos diferentes, pero por sobre todo representan cosas u objetos del sistema copletamente distintos. Más allá de sus similitudes, no son cosas iguales, no sólo por lo que son, sino porque el proceso que el sistema hace con ambas es diferente.
- Una factura sólo puede realizarse por cancelación de deuda inmediata.
- Una factura de crédito implica pagos parciales o totales posteriores.
- Cada pago realizado debe emitir su propio documento cancelatorio, lo que significa que existe otro objeto más, que podemos definir como Recibo de Pago. Este Recibo está vinculado a Pago o Caja (que de por sí es otra entidad) y además relacionado con Factura de Crédito.
- Los Recibos a su vez pueden definirse con una tabla de detalle si y sólo si el mismo recibo puede ser cancelatorio de más de una factura, caso en el cual habrá una relación de cardinalidad múltiple con Factura de Credito.

El sistema, globalmente hablando, requiere:
Cita:
FACTURA
FACTURA_DETALLE
FACTURA_CREDITO
FC_DETALLE
RECIBO
RECIBO_DETALLE (opcional)
PAGO
Obviamente no estoy incluyendo otros elementos como Producto, Stock (o ListaPrecios), FormaDePago, Caja, Banco, Tarjeta, Remito, RemitoDetalle, y según el sistema y los requerimientos que este plantee.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 16/04/2011 a las 07:31