title: Should GUID be used as a foreign key to many tables
body: <p>I designed a database to use GUIDs for the <code>UserID</code> but I added <code>UserId</code> as a foreign key to many other tables, and as I plan to have a very large number of database inputs I must design this well.</p>
  
  <p>I also use ASP Membership tables (not profiles only membership, users and roles).</p>
  
  <p>So currently I use a GUID as PK and as FK in every other table, this is maybe bad design?
  What I think is maybe better and is the source of my question, should I add in Users table <code>UserId(int)</code> as a primary key and use this field as a foreign key to other tables and user <code>GUID UserId</code> only to reference <code>aspnet_membership</code>?</p>
  
  <pre><code>aspnet_membership{UserID(uniqueIdentifier)}
  Users{
  UserID_FK(uniqueIdentifier) // FK to aspnet_membership table
  UserID(int) // primary key in this table --&gt; Should I add this
  ...
  }
  In other tables user can create items in tables and I always must add UserId for example:
  TableA{TableA_PK(int)..., CreatedBy(uniqueIdentifier)}
  TableB{TableB_PK(int)..., CreatedBy(uniqueIdentifier)}
  TableC{TableC_PK(int)..., CreatedBy(uniqueIdentifier)}
  ...
  </code></pre>