title: Database design about list of constant strings
body: <p>For database design, if the value of a column is from a constant list of strings, such as <code>status</code>, <code>type</code>. Should I create a new table and have a foreign key or just store plain strings in the same table.</p>
  
  <p>For example, I have a <code>orders</code> table with status:</p>
  
  <pre><code>----------------------------
  | id | price | status      |
  ----------------------------
  | 1  | 10.00 | pending     |
  | 2  | 03.00 | in_progress |
  | 3  | xx.xx | done        |
  </code></pre>
  
  <p>An alternative for above table is to have a <code>order_status</code> table and store <code>status_id</code> in orders table. I'm not sure if another table is necessary here. </p>