title: MySQL pipe separated value vs mapping table
body: <p>I've a case where 1 record there can be multiple rows possible of master table.</p>
  
  <p>e.g.</p>
  
  <pre><code>sports master table
  Cycling
  Rafting
  Shooting
  Football
  Cricket
  </code></pre>
  
  <p>Now I've person table </p>
  
  <pre><code>Person
  id
  first_name
  last_name
  </code></pre>
  
  <p>Can I have sports id as foreign key in Person table as pipe separated field or can I create separate table which will act as mapping table </p>
  
  <p>e.g.</p>
  
  <pre><code>sports_persons_mapping
  id
  person_id
  sports_id
  </code></pre>
  
  <p>Come to the situation to select from 2 options. </p>
  
  <p>Pipe separated field in person table or mapping table sports_persons_mapping?</p>
  
  <p>In search which is effective or which is more effective and why?</p>