title: De-normalizing SQL Server tables
body: <p>Table layout:</p>
  
  <p>.Net application is capturing the data in 4 tables</p>
  
  <ul>
  <li><code>A1</code> (which has FK's to other 3 lookup tables)</li>
  <li><code>LK_C1</code> (fk to A1 and LK_R1, LK_R2 and A1)</li>
  <li><code>LK_R1</code> (fk to LK_C1 and LK_R2 and A1)</li>
  <li><code>LK_R2</code> (fk to LK_C1 and LK_R1 and A1)</li>
  </ul>
  
  <p>Now there are some cases where <code>LK_C1</code> and <code>LK_R2</code> have relationships skipping <code>LK_R1</code>.</p>
  
  <p>Making this into OLAP tables.</p>
  
  <p>I got it that <code>A1</code> is going to turn into a fact table with various keys plus any other common dimension keys I may need.</p>
  
  <ol>
  <li>But designing the Lookup Tables (3 LK's above). Should I create that into 1 dimension table?</li>
  </ol>
  
  <p>or</p>
  
  <ol start="2">
  <li><p>Should I break it into 2 dimension tables</p>
  
  <p>a) Where there is a direct relationship between LK_C1 and LK_R2</p>
  
  <p>b) where all 3 LK's are inter-related.</p></li>
  </ol>
  
  <p>In approach 2 I will have 2 additional composite key references in A1 fact table
  one for combination of LK_C1 + LK_R2 say in column_7 and LK_C1 + LK_R1 + LKR2 in column_8.</p>
  
  <p>What would be the correct approach to making this into a star schema?</p>