It's not "this is the way it's done", it's "this is how it should be done". Shipping information is much like the rest of the order information, you want a de-normalized price on the order and each line item in the database, not a normalized cost based on the price of things now. You want a denormalised record of which card was charged, not a normalized record showing what their current card is, etc.