För ett beställningssystem skulle jag vanligtvis förvänta mig något liknande
Product -< OrderLine >- Order
I ditt fall kan du lägga till en "kaninöra"-relation på din produkt för att referera till sig själv. Så ditt outbound_shipment_contents
förlorar name
, type
till den nya product
. Du kan sedan rekursivt bygga upp trädet av föremål att välja efter behov.