title: How to reuse a recursive table configuration?
body: <p>let me put you in context so the question will be clearer. We're migrating/refactoring a very old system to .Net and SQL Server ecosystem, at this moment all of our effort is focused on redesigning the database. We've found this <a href="https://i.stack.imgur.com/5rGUf.png" rel="nofollow noreferrer">GUI</a> where all of the inputs is being stored in a "large" table. After thinking how to manage this kind of structure, we decide to use a mix of recursive table with EAV model,the GUI belongs to the following user requirement:
  Given a product and a machine, the system should provide a default machine configuration(i.e. : temperature, traction force, speed of traction, etc.) to produce the product in the best conditions. At the beginning, the default configure will be massive load by users, but in the later, it will be provided by the system based on historical data.</p>
  
  <p>This is the <a href="https://i.stack.imgur.com/OgEIb.png" rel="nofollow noreferrer">model</a> we're suggesting, however we've found some problems with this model:</p>
  
  <ol>
  <li>Given a machine and a product, to show the whole tree of the configuration(RegulacionMaquina table) we reference to the parent of a configuration(RegulacionFormato recursive table), will be the app the responsible of iterate all of the childrens, get the value of them from RegulacionValor table and dynamically build the GUI. This is what we want, but in the scenario that another product need to use the same configuration, except for one child, the solution would be to create another exactly configuration but without the desired children and create another record on RegulacionMaquina which reference to the new configuration(RegulacionFormato). </li>
  </ol>
  
  <p>So, we're willing to alternatives solution that solve this scenario. Thanks in advance!</p>