A bill of materials it can be done with three tables, apart from anything else, such as work orders, and sales.
Inventory, Product, and Product Details. You would need a 4th table for Enums (product type). Your product table would have an ID column joined to the product type column.
Each...