| From: | "Ruben Guinez" <rubenvive(at)gmail(dot)com> | 
|---|---|
| To: | "javier calderon" <kivurkian(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org | 
| Subject: | Re: manejo de arrays | 
| Date: | 2007-04-19 05:36:18 | 
| Message-ID: | dbb3157b0704182236u2cdeb301mf2e04b1d527da35b@mail.gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-es-ayuda | 
Tal vez, y mirando rápidamente el problema, me inclinaría por crear
una tabla de atributos: nombre - valor, algo así como
rg_atributos (
                      idatributo                   serial,
                      idproforma                 int,
                      atributo                      text,
                      valor                          text
                     constraint PK_RG_ATRIBUTO primary key (idatributo)
                    )
  de esta forma, llenas los atributos (o items de tu arreglo -antes-)
que sean necesarios, y luego para saber cada atributo por proforma,
simplemente lees por el campo idproforma, y ya está..... según lo que
ví debería funcionar de acuerdo a lo que entendí de tu requerimiento.
Es esquema es absolutamente flexible, se adapta mejor que el uso de
arreglos.
On 4/18/07, javier calderon <kivurkian(at)gmail(dot)com> wrote:
>
>
> Que tal amigos de esta lista. Bueno les cuento mi porblema... Actualmente tengo esta tabla declarada en mi bd postgresql 8.2 en ambiente windows
>
>  PROFORMA (
>                        id                  INT4              not null ,
>                        fecha             INT4              null,
>                        detalle            text[][]          null,
>                       constraint PK_PROFORMA primary key (IDPROFORMA)
>                     );
>
> Ok, La informacion que Campo detalle manejará se comporta  dependiendo lo que el usuario Ingrese de la siguente forma
>
>          ---------------------------------------------------------------------------------------------------------------------------
>          | Producto  | Espesor  | Ancho      |     Largo | Volumen  | Precio   |  Monto Final |
>          ---------------------------------------------------------------------------------------------------------------------------
>          | Madera 1  |        3mm |       60 cm|     20 cm  |            2   |     xxxxx |      xx.xxx,.xx|
>          | Madera 2  |        3mm |       60 cm|     20 cm  |            2   |     xxxxx |      xx.xxx,.xx|
>          | Madera 3  |        3mm |       60 cm|     20 cm  |            2   |     xxxxx |      xx.xxx,.xx|
>          -----------------------------------------------------------------------------------------------------------------------------
>
>       Como ven es una tabla normal, pero con la siguente salvedad... En ocaciones algunas se le agregaran nuevas columas o simplemente se le quitaran,  por lo que pense en declarar este tipo de detalle e ingresarlo como array... Lo he logrado pero a medias ya que hago la siguente inserción.
>
> INSERT INTO proforma VALUES (1,1,ARRAY[
>                                                                    ['Producto','Espesor','Ancho','Largo','Volumen','Precio ','Monto'],
>                                                                    ['maderia 1','33.3','100 y Mas','2.400 y Mas','86','200.00','17.200']], 'Proforma de Prueba');
>
> Lo que no he conseguido es igualar el esquema en la tabla vista arriba, es decir estoy llenando la columna de los nombres (producto,espesor etc...) y el primer detalle relacionado al producto madera 1, y no he podido ingresar madera 2 y madera 4 con su respectivas especificaciones. Como mencione anteriormente, en algunos casos no existiran ciertas columnas o simplemente se agregaran mas columnas. No he podido representar esta tabla que a mi vista es dinamica y estructruarla (crear en la tabla los campos producto,espezor,ancho,largo,volumen etc) NO OPTIMIZARIA la realidad del negocio que estoy modelando...
>
> Quizas mi forma de atacar esta problematica no sea la solución y si alguien podria eventualmente darme una guia será Bienvenida. ahora si lo es ¿Como podria representar en el campo Detalle esta tabla?...
>
> Bueno si no me he explicado de la mejor forma digame y relato mejor mi problema... Gracias y saludos
>
> Atte:
>
>
>
> --
> Javier Calderón.
>
> Desarrollo de Sistmas de Informacion
-- 
Rubén D. Guíñez G.
Software Developer
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Alvaro Herrera | 2007-04-19 14:10:25 | EAV (era Re: manejo de arrays) | 
| Previous Message | javier calderon | 2007-04-19 03:39:57 | manejo de arrays |