Since you have a category with possible subcategories I'd go for modeling this as hierarchical data (
More Trees & Hierarchies in SQL[
^]).
You'd end up with a table like below for the categories:
(-1 indicates that a category does not have a parent and is thus a root category)
ID Name Description ParentID
1 Dry Clean Dry cleaning stuff -1
2 Men Clothes for men 1
3 Woman Clothes for women 1
Then you need a means to relate which products are in which category so you'd create a relation:
ProductsPerCategory
CategoryID ProductID
1 1
2 2
3 3
Regards,
— Manfred