title: Association best pattern
body: <p>I have a question about sql relation conception. I have a simple example.
  A table person, country and I want to record the history where person had lived.</p>
  
  <pre><code>CREATE TABLE person
  (
      person_id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT
  );
  
  CREATE TABLE country
  (
      country_id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT
  );
  </code></pre>
  
  <p><strong>First solution :</strong></p>
  
  <pre><code>create table person_live_country
  (
      plc_id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
      person_id INT UNSIGNED NOT NULL,
      country_id INT UNSIGNED NOT NULL,
      FOREIGN KEY (person_id) REFERENCES person (person_id),
      FOREIGN KEY (country_id) REFERENCES country (country_id)
  );
  </code></pre>
  
  <p><strong>Second solution :</strong></p>
  
  <pre><code>create table person_live_country
  (
      person_id INT UNSIGNED NOT NULL,
      country_id INT UNSIGNED NOT NULL,
      PRIMARY KEY (person_id, country_id),
      FOREIGN KEY (person_id) REFERENCES person (person_id),
      FOREIGN KEY (country_id) REFERENCES country (country_id)
  );
  </code></pre>
  
  <p>What is the best pattern : conception, performance, convenience ? <strong>In the future I want to map the tables with JPA.</strong></p>
  
  <p>Thanks.</p>