We had a similar normalized table structure at a former employer. We added an attribute table to store different characteristics about a Part. For instance the attributes common for hard drives might be manufacturer, size, type, etc. A printer would have paper size, brand, model, ink/laser, etc...