title: MySQL - Best practices for tables with custom and default entries
body: <p>I want to have a list that consists of default and custom entries. So, for example, on my software when a dealership is created and want to put a car in their inventory I want them to be able to select from a list of types of cars that already exists in the database and also from types of cars they will be adding as needed but only for that dealership.</p>
  
  <p>How should I build this?</p>
  
  <p>Should I have a table with the default types and another one with the custom types of that dealership and when requested I return both? -> each query will have to access 2 tables.</p>
  
  <p>Should I have a single table with a column with the dealership ID and when requested return all that have the dealership ID and all that don't have any dealership ID (the default ones)? -> each query will have to return results with both no ID and dealership ID.</p>
  
  <p>Should I have a single table with a column with the dealership ID and every time a new dealership is created I duplicate the default entries but their ID on it? -> Can really become monstrous and with duplicate entries.</p>
  
  <p>Is there a better way to do this?</p>
  
  <p><strong>Example:</strong></p>
  
  <p>I just created a dealership and when I try to add a car to my inventory I see the options Mercedes, Volkswagen and Kia. But I want to add a Jaguar and it's not on the list. I want to add it only to my dealerships's list, so the next time I try to add a Jaguar the option is already there.</p>
  
  <p>PS: I have tried searching for a solution for this but couldn't find anything.</p>