title: Consolidating tables with one-to-one relationships
body: <p>I have 3 MySQL tables for a membership system.</p>
  
  <ul>
  <li><code>users</code>: Minimum requirement to be a user, only related to account info (email, password, is_activated, etc)</li>
  <li><code>user_profiles</code>: Personal information provided by the user (name, address, phone...)</li>
  <li><code>user_member_profiles</code>: Information strictly managed by admins (registration fee paid, meetings attended, etc.)</li>
  </ul>
  
  <p>These could be condensed into one table, saving me headaches and keeping my code clean - but I feel like it's better to leave them separate as they serve slightly different purposes.</p>
  
  <p><strong>Option 1:</strong> Leave it this way and keep doing <code>JOIN</code>s and tedious <code>UPDATE</code>s <em>(this piece of data goes to this table, this piece goes to another, etc.)</em>. More work for me, but maybe it makes more sense?</p>
  
  <p><strong>Option 2:</strong> Combine everything into one table.</p>
  
  <p>I would assume using one table would be faster, no need to join tables. Maybe this depends on the data? Each table has about 12-20 fields, so the combined table would be large.</p>
  
  <p>Each user has no more than 1 profile from each table, but may not even have a profile at all (or may have only 1 total).</p>
  
  <p>To add a little context to this: It is for an ever-evolving CMS written in PHP which I will need to make tweaks to the tables for each installation. Admins need to manage members in a speadsheet-like way, so I will be selecting up to 200 users at a time.</p>
  
  <p>What is the correct approach to this from a performance, design, or organization perspective?</p>