Is it possible to enforce corresponding hierarchies?
Based on the comments to my question it looks like the solution is to add product_id to the primary key of both the part and product_instance tables.