Rather than another table you could just add a field to the product table and treat the accessory as a product. Or you could have another table linking the accessory to the product. If you have a separate productaccessories table, wouldn't it also have to have links back through the productoptions table to all the color and size options? As Ray has said there are lots of different ways to set up a schema. Something that no one seems to talk about here is "normalization" of the database. There are always tradeoffs between full normalization and performance.