title: Database Design: relate to car's model or trim?
body: <p>I'm re-asking a question that was previously deleted here in SO for not being a "programming question". Hopefully, this is a bit more "programming" than the last post.</p>
  
  <p>First, a few definitions:</p>
  
  <ul>
  <li><strong>model</strong> - <code>2011 Nissan Sentra</code></li>
  <li><strong>trim</strong> - <code>2011 Nissan Sentra LX</code></li>
  </ul>
  
  <p>Generally, a particular vehicle would have a list of, say, available <em>colors</em> or <em>equipment</em> options. So a <code>2011 Nissan Sentra</code> may be available in the following colors:</p>
  
  <ul>
  <li>Black</li>
  <li>White</li>
  <li>Red</li>
  </ul>
  
  <p>Then, the manufacturer may have made a special color only available to the <code>2011 Nissan Sentra LX</code> trim:</p>
  
  <ul>
  <li>Pink with Yellow Polka Dots</li>
  </ul>
  
  <p>If I were building a car website wherein I wanted to capture this information, which of the following should I do:</p>
  
  <ul>
  <li>Associate the colors to the model?</li>
  <li>Associate the colors to the trim?</li>
  <li>Associate the colors to the model and trim?</li>
  </ul>
  
  <p>My gut feeling is that associating it to the model would be sufficient. Associating to trim would mean duplicates (e.g. <code>2011 Nissan Sentra LX</code> and <code>2011 Nissan Sentre SE</code> would both have "Black" as a color). Trying to associate colors to model and trim might be overkill.</p>
  
  <p>Suggestions?</p>