Topic: Need some design help/comments
I'm making an application that basically returns a set of colours and shapes - it sounds lame when I explain it like that but I dont want to give too much away about what I'm working on
So anyway, how it works is you send your attributes and the program crunches some numbers and puts you in a category and subcategory for colours and a category for shapes, then fetches the results based on those selections.
So the data tables in my design so far are
A category has about 30 colours in it, (colours can be in multiple categories) and each subcategory adds an additional 8 colours to the palette, so a request would return 38 colours - so my idea is basically that the subcategory is optional and the search would be like select * from colour_palettes where category = 'a' OR (category = 'a' AND subcategory = 'b')
a colour can belong to many colour palettes - a colour palette would be like ab, which would be everything from a plus those from ab.
So I have colour belongs_to colour_palettes and colour_palettes has_many colours
For shapes its pretty similar, except for the shape types each shape is of a type and each shape pallette contains multiple shapes of each type so I was thinking
shape_palletes has_many shape_types through shapes
shape_pallets has_many shapes
shapes belongs_to shape_palettes
shapes bleongs_to shape_types
am I going along the right lines or am I way off?