Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Como organizar esto...

Estas en el tema de Como organizar esto... en el foro de Mysql en Foros del Web. Buenas, estoy haciendo una especie de "lista de la compra" pero tengo alguna duda sobre como estructurar la base de datos, hasta ahora lo tenia ...
  #1 (permalink)  
Antiguo 07/07/2009, 09:09
 
Fecha de Ingreso: abril-2008
Mensajes: 43
Antigüedad: 16 años, 1 mes
Puntos: 3
Como organizar esto...

Buenas, estoy haciendo una especie de "lista de la compra" pero tengo alguna duda sobre como estructurar la base de datos, hasta ahora lo tenia de la siguiente forma:

1 base de datos con:
  • 5 tablas de productos, cada tabla es una categoria distinta de productos, por ejemplo, "televisores", "altavoces", "teclados"... Cada una de esas tablas tiene sus campos, por ejemplo televisores tendrá "tamaño"... Y el campo precio.
  • 1 tabla de presupuestos, aquí, he creado un campo para cada categoría y, con PHP, cuando quería añadir, 3 televisores modelo "sony", que su ID en la tabla televisores fuera el 5, pues en el campo "televisores" de los presupuestos añadiría "3x5".

Hasta aquí todo me ha funcionado perfectamente, el problema es que ahora me han dicho que el precio puede variar, o sea, ya no hay un campo precio en las tablas de los productos, si no que, al añadir el producto a la lista de la compra, se deberá escribir el precio que se desee...
En otras palabras, no se donde guardar el precio.

Lo que había pensado es en ampliar lo que estaba haciendo, que quedará algo rollo esto: "3x5x50", donde el 50 sería el precio en euros. Mediante la función "explode" de php puedo separar por las X y obtener cada valor independiente, esa sería una forma de hacerlo, pero supongo que habrá algún diseño mejor para la base de datos que me evite tener que hacerlo así.

Saludos y muchas gracias.
  #2 (permalink)  
Antiguo 07/07/2009, 09:48
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Como organizar esto...

No se si te guste esta solución, pero yo la aplico para el manejo de los intereses en unas cuentas de cobro.

Puedes poner el campo relacionado con el precio y mostrarlo en la lista de compras con posibilidad de edición. Cuando se imprima o se guarde la lista de compras, actualizar ese precio por el ingresado por el usuario. De esta forma, cuando se vuelva a cargar el producto, aparezca con el ultimo precio usado para ese producto.

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 07/07/2009, 09:55
 
Fecha de Ingreso: abril-2008
Mensajes: 43
Antigüedad: 16 años, 1 mes
Puntos: 3
Respuesta: Como organizar esto...

Hola, muchas gracias por responder.
De la forma que lo has expuesto (creo) se me presenta un problema y es que, puede haber muchos presupuestos a la vez, de distintos clientes, pero cada presupuesto puede tener precios distintos por los mismos materiales, por lo tanto, si cada vez se guarda el último precio también cambiaría el de los otros presupuestos.

Saludos
  #4 (permalink)  
Antiguo 07/07/2009, 10:17
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Como organizar esto...

No tienes que guardar precio en la tabla de productos, sino en la tabla de presupuesto o factura (de líneas de factura), y guardarás el aplicado para cada producto a cada cliente. Ingresas en el formulario el precio, y luego lo guardas, pero sólo en la tabla donde guardes los presupuestos o facturas (las líneas de factura); siempre podrás recuperar el dato, pero no será de aplicación para otro presupuesto o factura, porque estará en blanco.
  #5 (permalink)  
Antiguo 07/07/2009, 11:17
 
Fecha de Ingreso: abril-2008
Mensajes: 43
Antigüedad: 16 años, 1 mes
Puntos: 3
Respuesta: Como organizar esto...

Hola, y como organizaríais vosotros la tabla de presupuestos? Ahora mismo tiene un campo id, que es clave primaria y me sirve para identificar cada presupuesto, un campo que es el nombre y luego un campo para cada tipo de productos, "televisores", "teclados"... Crearíais otro campo para los precios o lo meteríais como he dicho en el primer post? Cantidad x producto x precio, todo concatenado y luego ya mediante PHP separo el producto de la cantidad y del precio.

Saludos
  #6 (permalink)  
Antiguo 08/07/2009, 03:35
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Como organizar esto...

Yo haría una tabla con los campos, num_presupuesto INT(11), que seria el id auto_increment, producto INT(11) foreign key relacionado con el id primary key de la tabla producto, cantidad INT(11), preciounidad, en este caso un float para el que tendrás que elegir los parámetros según tus necesidades, y fecha en un campo date. Nunca guardaría algo que puedo calcular, como es el precio de cada línea y el total por presupuesto. En cuanto al modo de hacerlo con programación y HTML, debes pedir ayuda en el foro del programa que estés utilizando. Yo nunca uniría esos datos para luego separarlos, porque imagínate que quieres saber cuantos televisores se han presupuestado en un mes, o datos de ese tipo.Si el motor de base de datos hace el trabajo y está pensado para eso, utilízalo. Es mi consejo.
  #7 (permalink)  
Antiguo 08/07/2009, 06:31
 
Fecha de Ingreso: abril-2008
Mensajes: 43
Antigüedad: 16 años, 1 mes
Puntos: 3
Respuesta: Como organizar esto...

Perfecto jurena, creo que lo haré tal y como dices, el único problema sería como distinguir de que tabla son los productos que hay en esta nueva tabla, si pertenecen a los "televisores", "teclados"... Supongo que podría crear en esta misma tabla de los productos del presupuesto un campo varchar y añadir ahí el nombre de la tabla del cual proviene el producto añadido.

Saludos y muchas gracias.
  #8 (permalink)  
Antiguo 08/07/2009, 15:38
 
Fecha de Ingreso: abril-2008
Mensajes: 43
Antigüedad: 16 años, 1 mes
Puntos: 3
De acuerdo Respuesta: Como organizar esto...

Bien, ya lo he hecho, todo funcionando perfecto y muchísimo más simple de como lo tenía hecho antes.

Mil gracias a todos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:07.