ES QUE VOY APRENDIENDO ESTO DEL MYSQL GRACIAS
![](http://i.imgur.com/P2iP5.png)
| |||
![]() Hola que tal, buenas tardes alguien me podria ayudar con esto, alguien me podria explicar por que es que no puedo relacionar esto muchas gracias, Y ME PODRIAN DECIR COMO ES QUE LO PUEDO SOLUCIONAR, SE LO AGRADECERIA MUCHO, ES QUE VOY APRENDIENDO ESTO DEL MYSQL GRACIAS ![]() |
| |||
Respuesta: Relacionar Tablas Cita: Disculpa me podrias dar un ejemplo pa comprenderlo mejor, te lo agradeceria demasiado.
Iniciado por gnzsoloyo ![]() Creo que el error es bastante evidente: Estás intentado crear una FK en la segunda tabla que apunte a la primera. Pero el campo que estás indicando no existe en la segunda tabla. ¿Estás seguro de tener claro lo que es una FK? Es un campo o conjunto de campos de una tabla cuyo valor se referencia a la PK de otra tabla. PRODUCTO tiene cuatro campos, pero ninguno de ellos se llama "id_cliente". Una disgresión que voy a hacer es esto: No existe ningún modelo en el que una tabla llamada "productos" se relacione en cardinalidad 1:N con otra denominada "clientes". Un producto no es de un cliente. En todo caso un cliente adquiere el producto... Eso implica otro tipo de relaciones. ¿Estás seguro de estar modelando correctamente esa base? |
| ||||
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 |
Etiquetas: |