title: Database design for tags or tagging
body: <p>How are tags of an item stored in a database hassle-free?</p>
  
  <p>Each item has multiple tags with it. I have read a few answers on an efficient way to do so : </p>
  
  <ol>
  <li><a href="https://stackoverflow.com/questions/334183/what-is-the-most-efficient-way-to-store-tags-in-a-database">What is the most efficient way to store tags in a database?</a></li>
  <li><a href="https://stackoverflow.com/questions/20856/recommended-sql-database-design-for-tags-or-tagging/20871#20871">Recommended SQL database design for tags or tagging</a> </li>
  </ol>
  
  <p>But I think there is a better solution to this. Why can't we simply include tags as a long string for each item?</p>
  
  <pre><code> Table : Brand_Shops
   Columns : brand_id, brand_name, content, tags
  </code></pre>
  
  <p>Example :</p>
  
  <pre><code>1 || Nike ||  shoes bags sports football soccer t-shirts track-pants
  2 ||  GAP || wallets t-shirts jeans shoes perfumes
  </code></pre>
  
  <p>This does not have <em>atomicity</em> but completely suits the purpose of tagging. If a new brand has to be added, new tags can simply be added along with it. Because of this it will be very easy to fetch it as well. I don't understand why this is not an efficient solution.</p>