title: Database Model Normalization - Data Integrity
body: <p>Here is my question, I have 2 basic entities.</p>
  
  <p>1-Order and 
  2-Delivery Type (basically a look up table 1-email, 2-download, 3-USPS Mail)</p>
  
  <p>Let's say a customer places an order and chooses delivery type 3-USPS Mail.</p>
  
  <p>My orders table stores the id 3 to join to the Delivery Type. Basic stuff.</p>
  
  <p>but what happens when an admin by mistake updates the delivery type from UPS mail to Fedex Mail. </p>
  
  <p>The order will reflect the wrong delivery type.
  My question is, should we prevent people from updating the delivery type once an order has been places or my order should be denormalized and store a snapshot of the document type at that moment what's the best practice for this? </p>
  
  <p>I see that most of the time for example in orders-products scenarios, updating a product name is not a big deal but whats the procedure to implement when the new value impacts the order?</p>
  
  <p>Thanks!</p>