Ver Mensaje Individual
  #8 (permalink)  
Antiguo 30/01/2014, 12:07
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: este diseño es correcto

primary,
la estructura en una tabla sería algo parecido a esto:

PKcat, nombreCat, padreCat, orden

imaginemos esto; categoria1, con varias subcategorías, subcategoria1, subacategoria2, y luego la subcategoria1 tendría otra subsubcategoria1. Y también una categoria2 sin subcategorías

PKcat, nombreCat, padreCat, orden
1, categoria1, NULL, 1
2, subcategoria1, 1, 1
3, subcategoria2, 1, 2
4, subsubcategoria1, 2, 1
5, categoria2, NULL, 2

Como ves una tabla te permite guardar todo, pero para luego sacarlo necesitarás consultas usando autojoin. Son consultas de tipo jerárquico de MySQL. Sobre consultas jerárquicas en MySQL puedes ver aquí:
http://mikehillyer.com/articles/mana...data-in-mysql/

por lo demás, el trabajo de manera recursiva con el lenguaje de programación podría también ayudarte.

Pero si todas las categorías tienen subcategorías y todas las subcategorías tienen subsubcategorías en una estructura siempre igual, podrías usar tres tablas relacionadas, una para categorías, otra para subcategorías y otra para subsubcategorias. Pero no sé si será tu caso. Eso facilitaría las consultas, claro.