title: Why is the Relation Between a Configurable Product and a Simple Product Stored Twice?
body: <p>Deep dive on the Magento internals here, not looking for a solution to a concrete problem, just trying to understand some implementation details. </p>
  
  <p>When you create a Configurable Product in Magento, and then create child Simple Products to implement things like shirt size, color, etc., Magento stores this relationship in <strong>two</strong> separate tables.</p>
  
  <pre><code>catalog_product_relation
  catalog_product_superlink_table
  </code></pre>
  
  <p>Why are these relationships stored twice?  </p>
  
  <p>Is this legacy code, or is there a semantic distinction between a product relation link and a product "superlink" link?  </p>
  
  <p>Does the system expect these to be the same, or is it a valid object state to have these tables representing different parent/child relationships?</p>