title: One mysql table with many fields or many (hundreds of) tables with fewer fields?
body: <p>I am designing a system for a client, where he is able to create data forms for various products he sales him self. 
  The number of fields he will be using will not be more than 600-700 (worst case scenario). As it looks like he will probably be in the range of 400 - 500 (max). </p>
  
  <p>I had 2 methods in mind for creating the database (using meta data):</p>
  
  <p>a) Create a table for each product, which will hold only fields necessary for this product, which will result to hundreds of tables but with only the neccessary fields for each product</p>
  
  <p>or</p>
  
  <p>b) use one single table with all availabe form fields (any range from current 300 to max 700), resulting in one table that will have MANY fields, of which only about 10% will be used for each product entry (a product should usualy not use more than 50-80 fields)  </p>
  
  <p>Which solution is best? keeping in mind that table maintenance (creation, updates and changes) to the table(s) will be done using meta data, so I will not need to do changes to the table(s) manually.</p>
  
  <p>Thank you!</p>
  
  <p>/**** UPDATE *****/</p>
  
  <p>Just an update, even after this long time (and allot of additional experience gathered) I needed to mention that <strong>not <a href="http://en.wikipedia.org/wiki/Database_normalization" rel="nofollow noreferrer">normalizing</a> your database is a terrible idea</strong>. What is more, a not normalized database almost always (just always from my experience) indicates a flawed application design as well.</p>