title: When to replace a database column with an ID instead
body: <p>I'm helping a friend design a database but I'm curious if there is a general rule of thumb for the following:</p>
  
  <p><strong>TABLE_ORDER</strong></p>
  
  <ul>
  <li>OrderNumber</li>
  <li>OrderType</li>
  </ul>
  
  <p>The column OrderType has the possibility of coming from a preset list of Order Types. Should I allow VARCHAR values to be used in the OrderType column (ex. Production Order, Sales Order, etc...) Or should I separate it out into another table and have it referenced as a foreign key instead from the TABLE_ORDER as the following?:</p>
  
  <p><strong>TABLE_ORDER</strong></p>
  
  <ul>
  <li>OrderNumber</li>
  <li>OrderTypeID</li>
  </ul>
  
  <p><strong>TABLE_ORDER_TYPE</strong></p>
  
  <ul>
  <li>ID</li>
  <li>OrderType</li>
  </ul>