Have a table called products with a boolean (Y/N, 1/0)field "REQUIREMENTS"...
Have another table called requirements
has two fields
product_id
req_prod_id
When the item is to be added to the cart, you check the product table for the requirements field, if yes, then get the list of requirement "parts" from the requirements table and the products table....
Check the list of requirements against the list of items the user has choosen...If some are missing, then notify the user that additional "parts" are required and ask if he wants to add them...