From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | javier calderon <kivurkian(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | EAV (era Re: manejo de arrays) |
Date: | 2007-04-19 14:10:25 |
Message-ID: | 20070419141025.GD4572@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
javier calderon escribió:
> 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');
Hola, esto que tu propones lo llaman EAV (entity-attribute-value)
http://en.wikipedia.org/wiki/Entity-Attribute-Value_model
En general no es muy recomendable. Casi siempre hay buenas
alternativas. El (o mejor dicho, uno de los) principal problema es que
los tipos de dato de los valores no son chequeados, por lo que es facil
meter cualquier basura que despues no tienes como limpiar.
Por ej. echale un vistazo a
http://www.varlena.com/GeneralBits/110.php
para una solucion alternativa razonable.
El sitio varlena.com no me responde en este momento, pero puedes verlo
aca:
http://web.archive.org/web/20060530115434/http://www.varlena.com/GeneralBits/110.php
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
From | Date | Subject | |
---|---|---|---|
Next Message | Cesar | 2007-04-19 14:32:13 | diferencia de datos entre tablas |
Previous Message | Ruben Guinez | 2007-04-19 05:36:18 | Re: manejo de arrays |