I have an inventory database that I designed about a year ago now. It has preformed great for me but I am getting ready to develop version 2 of the front end. This has got me thinking about possible database redesigns too and I am a bit confused about what the best approach is for this. Here is the scenario. We have Several product categories


Each category has different properties associated with it. Because of this I thought it best to create a table for each. The issue lies in when I need to add a new category it becomes rather cumbersome to due so. Is there a good way to design a database that allows something like this? Or am I stuck manually creating a table and writing more code every category addition?

If all your properties are stored as string values, then you could use a table to link categories and properties. You'd have a table for categories, one for property definition, another one linking them together, and one data table, linking category, property and value to your product.