title: "Multiple company" design pattern
body: <p>Is there such thing as a "Multi Company" design pattern for databases? We were being told the other day by a professor that this is a relatively simple feature to add in design time and that we should apply it to any software that may be used by more than one company at the time or for example by a corporation (D) that is made out of company A,B,C.</p>
  
  <p>What he suggested was in general terms was this.</p>
  
  <ul>
  <li>All catalogs should include the ID of the company.</li>
  <li>All reports should include in their input parameters, the company for
  which the report is run or whether it is for all companies</li>
  </ul>
  
  <p>For example...</p>
  
  <p><a href="https://i.stack.imgur.com/EirWI.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/EirWI.png" alt="enter image description here"></a></p>
  
  <p>Is this an accepted way to model databases that will hold multiple companies'registers without mixing them?</p>
  
  <p>Is there a better more efficient way?</p>
  
  <p>I ask because it wouldn't be the first time we're told something that is quite outdated and I would appreciate any insight into current design trends (or where to find them)</p>
  
  <p>Cheers.</p>