Ver Mensaje Individual
  #4 (permalink)  
Antiguo 04/06/2012, 08: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: Relacionar Tablas

El caso más simple para explicarte la relación entre un cliente y un producto es una factura:
Un cliente compra un producto, el cual abona por medio de la factura.
La factura tiene:
- Un encabezado con los datos de la fecha, numero de factura, id del cliente, descuentos aplicados y un detalle de lo vendido.
- El detalle contiene id de factura, id del producto, y cantidad adquirida.
- Los datos del cliente se obtienen por medio del ID que está en el encabezado de la factura.
- Los datos de cada producto se obtienen por el ID del detalle.
Así pues, un cliente se relaciona con las facturas emitidas a él. Las facturas se relacionan a un detalle, y el detalle se relaciona con el producto vendido.
Si lo que deseo obtener es:
- La factura con sus total y detalle, relaciono todas las tablas de Cliente + Factura + Detalle_Factura + Producto.
- Las compras de un cliente: Cliente + Factura + Detalle_Factura + Producto, agrupando el total de compras por articulo.
- Los productos vendidos en un periodo: Factura + Detalle_Factura + Producto

En todos los casos, como puedes ver, para relacionar al producto con un cliente, lo hago con la factura, porque el cliente nunca se vincula directamente con el producto.
¿Cómo sé que un cliente compró algo? Porque se facturó.
¿Como sé qué tipos de producto consume n cliente? Porque se facturaron.
¿Cómo sé que tipo de clientes me consumo un determinado producto? Fijándome a quiénes se facturaron qué tipos de producto.

El que un cliente tome un producto de las góndolas de un supermercado para luego pagarlo y luego llevárselo, es total y absolutamente irrelevante para el sistema, porque el sistema no verifica las acciones humanas entre los objetos, sino los procesos y flujos de información del sistema... Donde el ser humano no existe.

¿Se entiende la distinción?
__________________
¿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; 04/06/2012 a las 08:47