title: MySQL: Understanding mapping tables
body: <p>When building a category navigation system for a business directory with a many to many relationship, I understand that it is good practise to create a mapping table.</p>
  
  <p>Category Table ( CategoryId, CategoryName )<br>
  Business Table ( BusinessId, BusinessName )<br>
  Category Mapping Table ( BusinessId, CategoryId )  </p>
  
  <p>When I join the Category table and Business table to create the mapping table would this then give me a table which contains every possible business and category relationship?</p>
  
  <p>I have 800 categories and 1000 business listings. Would that then give me a table containing 800,000 possible relationships. If so how would I focus on only the relationships that exist? Would I have to go through all listings (800,000) marking them as true or false?  </p>
  
  <p>I have been getting really confused about this so any help would be much appreciated.</p>