EAV (era Re: manejo de arrays)

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.

In response to

Browse pgsql-es-ayuda by date

  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