I am using SQlServer 2008, and an extract of some datatables is displayed below:
Id (PK)
UserId (PK) ItemId (PK) - (Compo
I would lead toward bad design. While most DBMSs can manage cascading deletes, it is risky to use this built in functionality. Your scenario is a perfect example of why these types of things are often managed in application code. There you can determine exactly what needs to be deleted and in what order.