title: Per-user tag cloud in PHP & MySQL
body: <p>I am looking to implement a per-user tag/interest cloud feature to a website I am making.</p>
  
  <p>Each user has a profile page, and on said page a tag cloud of their preselected interests will be displayed. Each user can type their interests comma delimitated, with suggestions if such a tag has been used before or creation if it doesn't exist. Interests will be things such as Music Genres, Hobbies etc.</p>
  
  <p>I'd like to also add basic features such as comparing users tag clouds (shared tags) for finding users that are 'compatible' according to their cloud.</p>
  
  <p>I could use help with the logistics of the database to achieve this. I understand simple database design, but I can't wrap my head around design for the above.</p>
  
  <p>At the moment the database is one single table, with ID/Username/Password/Verification (the last a key for email verification).</p>
  
  <p>The only idea I have come up with for the tag cloud db is two tables - one called tags with a tagid and tagname field, and another users_tags with a tagid and userid field, and an entry for every single tag a user has. However I am unsure if this is best practice.</p>
  
  <p>Hope someone can give me some direction on all this - thanks in advance.</p>