Bases de Datos - Sobre Categorías y Sub-Categorías

 
Vista:

Sobre Categorías y Sub-Categorías

Publicado por Vanessa (1 intervención) el 21/06/2006 04:03:50
Hola a todos.
Les cuento que actualmente estoy desarrollando un pequeño proyecto para entregar
al final de semestre con asp.net. Es un portal que sigue más o menos la misma línea
de mercadolibre.com o deremate.com pero claro está mucho más pequeño y menos complejo.

Tengo una tabla en la bd en sql server en donde guardo todas las categorías y sub-categorias
con la siguiente estructura:

cate_codigo = código de la categoría
cate_nombre = nombre o descripción
cate_padre = código de la categoría padre(si la tiene)

Por ejemplo:

01 - Ropa - Null
02 - Gorras - 01
En este caso Gorras pertenece a la categoría de Ropa. Todo bien :)

El problema es el siguiente, en mi caso una sub-categoria o registro puede pertenecer
a más de una categoría al mismo tiempo o incluso a otra sub-categoría.

Por ejemplo:
01 - Ropa - Null
02 - Gorras - 01
03 - Artículos Deportivos - Null
04 - Gorras - 03

En este caso la sub-categoría Gorras pertenece a las categorías Ropa y Artículos Deportivos,
pero ya sea que se acceda a Gorras desde la categoría Ropa o desde la de Artículos Deportivos
allí el usuario encontrará siempre los mismos productos es decir Gorras.

Cómo le hago para que al momento de agregar una gorra en la página la misma aparezca tanto
en la sub-categoría Gorras que está en Ropa así como también en la que está en Artículos Deportivos.?
Es decir, cuál podría ser la manera correcta o más eficiente de trabajar esto a nivel de la
base de datos?
En mi caso había pensado para evitar registrar Gorras dos veces(ya que pertenece a dos categorías
diferentes) crear un campo llamado "cate_padre2", de esta manera podría indicar que Gorras
pertenece a las categorías 01 y 03, pero esto significa que más adelante podría verme en la
necesidad de crear campos cate_padre3,cate_padre4...y así sucesivamente.

Espero me puedan dar algunas ideas o sugerencias.
De antemano muchas gracias por su tiempo.
Saludos...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder