Skip site navigation (1) Skip section navigation (2)

Re: Tipo de datos

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 (view raw or flat)
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

In response to

Responses

pgsql-es-ayuda by date

Next:From: Gabriel FerroDate: 2009-03-17 23:03:18
Subject: recuperar serials
Previous:From: Reynier Perez MiraDate: 2009-03-17 21:58:11
Subject: Tipo de datos

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group