What happens if someone deletes a related item that doesn't belong to any dataset? Don't you need two cases here like you have for adding a related item?