En mi opinión lo que deberias hacer es tener una tabla con las políticas,
que contenga un Id y campos con todas sus caracterisiticas más un campo con
el estado (Vigente / No vigente), y otra tabla con cada uno de los
productos asociados a cada política.
Creo que es más sencillo y te permite ir guardando la historia de todas las
policitcas aplicadas y los productos asociados.

Saludos cordiales

El 23 de octubre de 2015, 9:43, Ruben Fitó <r.f...@ubiquat.com> escribió:

> Hola lista,
>
> Hace tiempo, realicé una consulta relacionada con los códigos de productos
> de mi empresa, donde se tiene que hacer "best matching" conforme el código
> de tipo de producto forma parte del código del mismo. Bueno algo como
> expuse es:
>
> *12345      --> *producto* A: 12345 *00089
> *1234578  --> *producto* B: 1234578 *0258
>
> Escoger el tipo de producto se pudo solucionar con la función prefix.
>
> Ahora, tenemos que para un producto o conjunto de productos, queremos
> aplicar ciertas políticas de precios y hemos pensado que el tipo de
> agrupaciones según los tipos de productos pueden ser diferentes según la
> política a aplicar, con lo que hemos pensado en usar códigos "comodin".
>
> Por ejemplo:
>
> Tenemos varios productos:
>
> Código tipo producto    Tipo producto          Código final producto
>      Possible comodin
> *12345                  --> *producto* A:         12345  *00089
>           *12345**
> *1234578                --> *producto* B:         1234578 *0258
>           *1234578*
> *9876543                --> *producto* C:         9876543 *01234
>            *9876543**
> *11111                  --> *producto* D:         11111   *22222
>            *11111*
>
> Para TODOS los productos un posible comodín seria el asterisco(*).
>
>
> Por otro lado, podemos tener varias políticas.
>
>    - Política 1: se aplicará un 15% de descuento a todos los productos. →
>    código comodín [*].
>    - Política 2: se aplicará un 15% de descuento a todos los productos y
>    sub-productos *12345 →* código comodín [*12345**]
>    - Política 3: se aplicará un 15% de descuento a todos los productos y
>    subproductos A y D  → código comodín [*12345**, *11111**]
>
> A nivel de aplicación necesitamos algo genérico ya que no queremos
> programar cada vez que se incorpore una nueva política.
>
> Hemos pensado en que cada nueva política contenga los "conjuntos de
> productos", por eso tenemos una tabla que los describe y hemos pensado en
> añadir una nueva columna que contenga una lista(ARRAY) de "comodines", y de
> ella poder saber por producto qué políticas hay que aplicar.
>
>    - Es buena idea? No quiero volver a la conclusión que postgres ya
>    tiene algo montado y no he sabido encontrarlo. :-)
>    - En caso que POSTGRES no contemple este caso en una de sus funciones,
>    cómo seria la query para buscar si se ha de aplicar o no una política??
>    Queremos evitar que lo procese el aplicativo y que nos de el resultado
>    directamente la BD.
>
> Espero haberme explicado bien.
>
> Gracias por su atención.
>
> Un saludo
>
> --
> *Ruben Fitó *
> Software Engineer
> r.f...@ubiquat.com <j.catari...@ubiquat.com>
> www.ubiquat.com
> Tota la informació continguda en aquest document i arxius adjunts és
> CONFIDENCIAL protegida per llei de secret comercial. Si l'ha rebut per
> error, si us plau elimini'l i posi's en contacte amb l'emissor.
>
> All information contained in this document and any attachments are
> CONFIDENTIAL and protected under trade secret laws. If you receive this
> message by mistake, please delete it and notify it immediately to the
> sender.
>



-- 
Sergio Valdés H.

Responder a