From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Reynier Perez Mira <rperezm(at)uci(dot)cu> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Tipo de datos |
Date: | 2009-03-17 22:04:43 |
Message-ID: | 20090317220442.GM4202@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Reynier Perez Mira escribió:
> De esta forma tengo una relación n:m porque un producto puede estar en
> muchas categorías y una categoría puede tener muchos productos. Cual
> es mi idea: cuando inserte una tupla en la tabla productos que debe
> contener una llave foránea o una columna para almacenar los ID's de
> las categorias a la cual pertenece el producto se me inserten los ID's
> en forma de arreglo. Una mejor explicación:
>
> productos
> - - - - - - - - - - -
> id nombre id_categoria
> 1 Producto1 1,2,3,4,5,6,7,8
>
> Lo que me da a entender que el Producto1 pertenece a las categorías:
> 1,2,3,4,5,6,7 y 8. ¿Se puede hacer esto o es un disparate de mi parte?
> He visto que PostgreSQL tiene un tipo de datos que según mi percepción
> de programador es un arreglo, por ejemplo: int[], varchar[], etc y me
> preguntaba si era posible.
Es un disparate. O mejor dicho, se puede hacer pero es mala idea.
Normalmente esto se modela con una tupla por cada categoría a la que
pertenece cada producto. Esto es en una tabla separada, digamos
producto_categorias, con dos columnas, id_producto e id_categoria.
--
Alvaro Herrera http://www.amazon.com/gp/registry/CTMLCN8V17R4
"Once again, thank you and all of the developers for your hard work on
PostgreSQL. This is by far the most pleasant management experience of
any database I've worked on." (Dan Harris)
http://archives.postgresql.org/pgsql-performance/2006-04/msg00247.php
From | Date | Subject | |
---|---|---|---|
Next Message | Gabriel Ferro | 2009-03-17 23:03:18 | recuperar serials |
Previous Message | Reynier Perez Mira | 2009-03-17 21:58:11 | Tipo de datos |