Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Como asociar 1 producto a varias categorias !?

Estas en el tema de Como asociar 1 producto a varias categorias !? en el foro de Bases de Datos General en Foros del Web. Hola, Como puedo hacer para armazenar varias categorias a 1 product !? Tengo 2 tablas; tbl_producto pd_id cat_id pd_nombre ... tbl_categoria cat_id cat_nombre ... Que ...
  #1 (permalink)  
Antiguo 08/02/2009, 11:04
Avatar de b0zZy  
Fecha de Ingreso: enero-2009
Ubicación: Francia
Mensajes: 28
Antigüedad: 15 años, 3 meses
Puntos: 0
Pregunta Como asociar 1 producto a varias categorias !?

Hola,
Como puedo hacer para armazenar varias categorias a 1 product !?
Tengo 2 tablas;

tbl_producto
pd_id
cat_id
pd_nombre
...

tbl_categoria
cat_id
cat_nombre
...

Que campo tendria que asignar a cat_id
en tbl_producto para poder asociar mas de 1 opcion de la tbl_categoria !?
Es decir un livro puede pertenecer a varias temas .
Una vez mas no se si me hago entender, pero vamos a ver. Esto me tiene loco ...
Gracias
  #2 (permalink)  
Antiguo 08/02/2009, 15:30
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: Como asociar 1 producto a varias categorias !?

Tienes que crear una tabla intermedia
por ejemplo puedes llamarlo producto_categoria y tener las siguientes campos
cat_id, pd_id

Cita:
producto_categoria
cat_id
pd_id
Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #3 (permalink)  
Antiguo 09/02/2009, 05:08
Avatar de b0zZy  
Fecha de Ingreso: enero-2009
Ubicación: Francia
Mensajes: 28
Antigüedad: 15 años, 3 meses
Puntos: 0
Hola Genetix

Mira asin es como tengo mis tablas,

tbl_product
pd_id|cat_id|cat_id2|cat_id3| pd_name
---------------------
1|1|2|3|XXXX
2|3|1|2|xxx
3|2|3|1|x


tbl_category
cat_id|cat_name
----------------------------------
1|Arte
2|Naturaleza
3|Ciencias

Todo finciona bien, pero quando anado un livro, en la web sale:

pd_name cat_id cat_id2 cat_id3
XXXX Art 2 3
xxx Ciencias 1 2
x Naturaleza 3 1

Y quiero que me salga:

XXXX Art Naturaleza Ciencias
xxx Ciencias Arte Naturaleza
x Naturaleza Ciencias Arte


Lo unico que intento es hacer un array o algo asin para que asocie cat_id2 y cat_id3 con cat_id para que me salga el nombre en vez de 1 numero
No es posible !?
Gracias
  #4 (permalink)  
Antiguo 09/02/2009, 11:18
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: Como asociar 1 producto a varias categorias !?

que DB usas? y como haces la consulta ?
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #5 (permalink)  
Antiguo 09/02/2009, 17:30
 
Fecha de Ingreso: junio-2007
Mensajes: 22
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Como asociar 1 producto a varias categorias !?

Bueno si entiendo bien tu tabla productos esta asi:
pd_id|cat_id|cat_id2|cat_id3| pd_name
Pero si te das cuenta esta tabla no esta ni en 1FN(Normalizacion de BD), por que tendras muchos problemas.
Sugiero que redefinas tu tabla productos con solo (pd_id,pd_name)
y te crees otra tabla llamada digamos producto_categoria con los campos pd_id, cat_id.
Estos dos campos seran claves foraneas que haran referencia a las tablas productos y categorias.
Asi podras tener asociados varios productos a una categoria(cardinalidad: uno a muchos),
Saludos.........
  #6 (permalink)  
Antiguo 11/02/2009, 01:46
Avatar de b0zZy  
Fecha de Ingreso: enero-2009
Ubicación: Francia
Mensajes: 28
Antigüedad: 15 años, 3 meses
Puntos: 0
De acuerdo Respuesta: Como asociar 1 producto a varias categorias !?

Weno antes de nada, gracias Genetix y rolandofv !!
Parece que no me va a kedar otra que hacer otra tabla y asin hacer la realcion 1 a muchos!
Me acabo de bajar db forge studio express, lo voy a probar y haver hasta donde llego.
Esto de ser novato, es lo que tiene. De todas formas, gracias !!

Última edición por b0zZy; 11/02/2009 a las 01:53
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:25.