title: Simple guest list database design
body: <p>A question for DB designers:</p>
  
  <p>In a guest list for a party, we will have Hosts (those who organize and attend the party) and Guests (those who are just attending the party).</p>
  
  <p>There are two types of Guests:</p>
  
  <ol>
  <li><p>Guest with invitation card: those receiving the invitation card physically at their homes, and</p></li>
  <li><p>Guests without invitation card: those who need to be accompanied with a Guest that holds an invitation card, in order to enter the party.</p></li>
  </ol>
  
  <p>It's understood that it's necessary to register the addresses of the first type of Guests, as it's necessary to know where to drop the invitation card.
  Also, for every Guest, it's required to know the Host or Guest ID from who is inviting them.</p>
  
  <p>The question is:<br>
  How many tables should I create?<br>
  A single one, with all the audience in it?<br>
  Two tables: one for Hosts, one for Guests?<br>
  Three tables: one for Hosts, one for Guests with invitation card, and another one for Guests without invitation card?</p>
  
  <p>The advantage I see in the third solution (three tables) is that I avoid leaving blank the field "address" for the Guests without invitation card, and I'm able to register the ID of the Guest with invitation card that is going to take them.</p>
  
  <p>I'd be glad to read the opinions and ideas from you.</p>