title: SQL Server table with different user profiles
body: <p>I am designing my db tables in SQL Server 2005 and have come across a small design/architecture issue... I have my main <code>Users</code> table (<code>username, password, lastlogin,</code> etc.), but I also need to store 2 different user profiles, i.e. the profile data stored will be different between the two. I've put all the common user data into the <code>Users</code> table. </p>
  
  <p>Do I create separate tables for <code>Consumers</code> and <code>Marketers</code>? And if so, should the primary key in these tables be <code>[table-name]_UserID</code> with a 1:1 relationship on <code>Users_UserID</code>?</p>
  
  <p>Basically, upon registering, the user will be given the choice to register as a Consumer or Marketer. When a user logs in, the <code>Users</code> table will be queried, and their accompanying profile will be queried from either table.</p>
  
  <p>I know this approach is messy, which is why I've come here to ask how best this can be achieved.</p>
  
  <p>Thanks!</p>
  
  <p><strong>EDIT:</strong> Additionally, in the <code>Users</code> table I have a <code>Users_UserType</code> flag that will allow me to distinguish between users when they log in, hence knowing which <em>Profile Table</em> to query.</p>