Consejo de estructura de base de datos necesario

Actualmente estoy trabajando en un sitio que contendrá un catálogo de productos. Soy un poco nuevo en el diseño de bases de datos, así que busco consejos sobre la mejor manera de hacer esto. Estoy familiarizado con el diseño de bases de datos relacionales, así que entiendo "muchos a muchos" o "uno a muchos", etc. (tomé una buena clase de db en la universidad). Aquí hay un ejemplo de lo que un artículo podría ser categorizado como:

Propeller -> aircraft -> wood -> brand -> product.

En lugar de intentar escribir lo que tengo hasta ahora, simplemente eche un vistazo rápido a esta imagen que creé a partir de la función del diseñador phpmyadmin.

texto alternativo http://www.usfultimate.com/temp/db_design.jpg

Ahora, todo esto parecía bueno y elegante, hasta que me di cuenta de que la categoría "madera" también se usaría debajo de la hélice -> airboat -> (madera). Esto significaría que la "madera" tendría que recrearse cada vez que quiera usarla con un padre diferente. Este no es el fin del mundo, pero quería saber si hay una manera más óptima de hacerlo.

Además, estoy tratando de mantener esto lo más dinámico posible para que el cliente pueda organizar su catálogo a medida que cambien sus necesidades.

*Editar. Estaba pensando en crear una tabla de "etiquetas". Así que podría asignar la etiqueta "madera" o "metal" o "50 pulgadas" a 1 a muchos elementos. Todavía mantendría un tipo de crianza para las categorías principales, pero de esta manera las categorías no tendrían que ser tan profundas y no habría repetición.

Respuestas a la pregunta(8)

Su respuesta a la pregunta