title: Storing multiple versions of a value in DB
body: <p>A DB design question.</p>
  
  <p>I need to design an item with multiple versions of the same value, like a shoping cart product in a multilingual store.</p>
  
  <p>Say I have a product</p>
  
  <pre><code>CREATE TABLE product 
   id INT,
   name VARCHAR(64),
   description SMALLTEXT,
   whatever BOOL,
   another INT;
  </code></pre>
  
  <p>and a translation table</p>
  
  <pre><code>CREATE TABLE product_language
   product_id INT,
   language_id INT,
   name VARCHAR(64),
   descripton SMALLTEXT;
  </code></pre>
  
  <p>Now my question is... is table <code>product</code> sensible or not? Most of  the shops will be 1 language only, so does it make sense to keep name and description in default language in <code>product</code> table to avoid <code>JOINs</code> when there is only one language on the system? Or will it give me headaches I can not foresee?</p>