A cart should be created when an item into it, otherwise is not a cart and it creates trash in db. Any other behavior is wrong. I could accept a cart that is emptied later on but at least it should contain an item at some stage. The real shop simulation is not relevant in this case, grabbing a cart does not create entries and information in any db.