none
Consejos para una Tabla que almacenara Precios RRS feed

  • Pregunta

  • Hola a todos:

    Quisiera me compartieran sus experiencias en el diseño de una tabla que almacenara los precios de los artículos, solo lo que competa al precio (costo, precio_venta, fecha_cambio, iva), el detalle del articulo como la descripcion, marca, depto., etc estara en la tabla Articulos...

    Teniendo en cuenta que un articulo:

     * Tendrá cambios de precios; no mas de una vez por día y no necesariamente uno diario

    * Se necesitara de un historial de precios en algún reporte

    Actualmente tengo una tabla que no logra convencerme del todo la cual tiene la siguiente estructura y características:

    Num_articulo, Costo, Porcentaje_iva, Rentabilidad, Precio_venta, Fecha_cambio, Vigente

    De donde:

    Rentabilidad .- Es el porcentaje de incremento del costo para conseguir un precio de venta.

    Vigente .- Es un campo del Tipo Boolean el cual si se encuentra en "True" significa que ese registro representa el precio de venta Vigente..

    En resumen esta es la estructura de mi tabla actual pero les repito que no me convence del todo, alguien que me recomiende o comparta sus experiencias con este tipo de tablas?

    Gracias de antemano!


    Saludos desde Monterrey, N.L. México

    Luis Escobar :D


    viernes, 3 de agosto de 2012 4:56

Respuestas

  • Saludos, mi mejor recomendación es que no coloques precios o costos asociados en la tabla de productos.

    Lo mejor es trabajar en el modelo de objeto, es de cir, crea una tabla, por ejemplo, importes, donde colocaras los distintos precios que desees, con sus respectivos valores, y un identificador (id). En la tabla importes también podrás definir en que fechas u horas se aplica un importe determinado u oferta, a que reglón (clasificación) de productos afectas, ofertas, etc

    En la tabla productos creas un campo relacionado con la tabla importes, asignando el importe que tendrá un producto.

    De esta forma podrás tener "n" precios por cada producto. Claro esto aumenta un poco la complejidad porque en los reportes de precios, historiales, etc deberás manejar con cuidado la columna ID de los importes, pero si lo haces de la maneras mas precisa podrás realizarlo.

    Yo lo he usado en mis desarrollos y ha sido una excelente manera de asignar precios y costos a los productos.

    Asi puedo manejar precios varios, precios oferta que duran cierto días y que aplican solo a ciertos productos o a ciertos clientes. O precios que se aplican cuando la compra esta en un limite dado de cantidades, etc.

    Espero haberme explicado bien. Saludos


    _______________________
    Edward J. Ocando. | Desarrollador | SoyDesarrollador.net
    Telefono.+58 (212) 868.90.33 | Edward.Ocando@SoyDesarrollador.net

    sábado, 4 de agosto de 2012 1:35
  • hola

    lo que yo haria es mantenerr una tabla de hitorico

    o sea el precio actual del producto lo dejaria donde lo tienes ahora que esta perfecto

    pero cuando algun dato cambia del producto volcaria los datos previo a la historia por si se encesitan consultar en al gun momento, quizas ese reporte que menciones usaria esta tabla de historia

    entonces tu logica no cambia mucho ya que el rpecio en su se recupera rapido esta en la misma tabla del producto

    pero por mediod e un trigger o algun otro mecanismo que mas guste vuelcas ante cada cambio los datos del producto al historio

    por supuesto la tabla de historia podria tener la mismas columans de producto solo que un campo adicional de fecha en que se produce el cambio

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    sábado, 4 de agosto de 2012 2:39

Todas las respuestas

  • Saludos, mi mejor recomendación es que no coloques precios o costos asociados en la tabla de productos.

    Lo mejor es trabajar en el modelo de objeto, es de cir, crea una tabla, por ejemplo, importes, donde colocaras los distintos precios que desees, con sus respectivos valores, y un identificador (id). En la tabla importes también podrás definir en que fechas u horas se aplica un importe determinado u oferta, a que reglón (clasificación) de productos afectas, ofertas, etc

    En la tabla productos creas un campo relacionado con la tabla importes, asignando el importe que tendrá un producto.

    De esta forma podrás tener "n" precios por cada producto. Claro esto aumenta un poco la complejidad porque en los reportes de precios, historiales, etc deberás manejar con cuidado la columna ID de los importes, pero si lo haces de la maneras mas precisa podrás realizarlo.

    Yo lo he usado en mis desarrollos y ha sido una excelente manera de asignar precios y costos a los productos.

    Asi puedo manejar precios varios, precios oferta que duran cierto días y que aplican solo a ciertos productos o a ciertos clientes. O precios que se aplican cuando la compra esta en un limite dado de cantidades, etc.

    Espero haberme explicado bien. Saludos


    _______________________
    Edward J. Ocando. | Desarrollador | SoyDesarrollador.net
    Telefono.+58 (212) 868.90.33 | Edward.Ocando@SoyDesarrollador.net

    sábado, 4 de agosto de 2012 1:35
  • hola

    lo que yo haria es mantenerr una tabla de hitorico

    o sea el precio actual del producto lo dejaria donde lo tienes ahora que esta perfecto

    pero cuando algun dato cambia del producto volcaria los datos previo a la historia por si se encesitan consultar en al gun momento, quizas ese reporte que menciones usaria esta tabla de historia

    entonces tu logica no cambia mucho ya que el rpecio en su se recupera rapido esta en la misma tabla del producto

    pero por mediod e un trigger o algun otro mecanismo que mas guste vuelcas ante cada cambio los datos del producto al historio

    por supuesto la tabla de historia podria tener la mismas columans de producto solo que un campo adicional de fecha en que se produce el cambio

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    sábado, 4 de agosto de 2012 2:39
  • Hola:

    Les agradesco a ambos por sus recomendaciones...


    Saludos desde Monterrey, N.L. México

    Luis Escobar :D


    martes, 7 de agosto de 2012 15:29