That's what I expected, that there would be a page which displayed all the products in a grouping. You could implement that by going through all the products and only displaying those which were in a specific grouping, but if there were 15,000 products and you wanted to display a grouping with only 15 products, you could decide that was a waste of resources. But it might not be in real life, it might make the response time for the page be 1.2 seconds with the pre-built list of products and 1.7 seconds without it.
The point I'm trying to make, I think, is that your data design has to be driven by the way the data is going to be used. If you wanted a page which showed all products for a designer, then you might want to build that list in advance for each designer too. Or not, again taking response time into consideration.
You should really start out with the simplest possible design, then add complications as necessary in response to requirements.