title: Does allowing a category to have multiple parents make sense? Are there alternatives?
body: <p><strong>Short question:</strong> How should product categories that appear under multiple categories be managed? Is it a bad practice to do so at all?</p>
  
  <p><strong>Background info:</strong>
  We have a product database with categories likes this:</p>
  
  <pre><code>Products
  
    -Arts and Crafts Supplies
      -Glue
      -Paper Clips
      -Construction Paper
  
  
    -Office Supplies
      -Glue
      -Paper Clips
  </code></pre>
  
  <p><strong>Note that glue and paper clips are assigned to both categories.</strong> And although they appear in two different spots in this category tree, <strong>they have the same category ID in the database</strong>. Why? Two reasons:</p>
  
  <ol>
  <li>Categories are assigned attributes - for example, a paper clip could have a weight, a material, a color, etc. </li>
  <li>Products assigned to the glue category are displayed under arts and crafts and Office Supplies. Which is to be expected - they're the same actual category ID in the database.</li>
  </ol>
  
  <p>This allows us to manage a single category and it's attributes and assigned products, but place it at multiple places within the category tree.</p>
  
  <p>We are using the <a href="http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/" rel="noreferrer">nested set model</a>, so the db structure we use to support this is:</p>
  
  <pre><code>Category
  ----------
  CategoryID
  CategoryName
  
  
  CategoryTree
  ------------
  CategoryTreeID
  CategoryID
  Lft
  Rgt
  </code></pre>
  
  <p>So there's a 1:M between Category and CategoryTree because there can be multiple instances of a given category within the category tree.</p>
  
  <p>Is there a simpler way to model this that would allow a product category to display under multiple categories?</p>