Before jumping straight into creating our models, we need to define clearly what type of models we are going to build and how many. So let's review our example scenario. For our gift registry, it appears that we will need two different models:
Although this approach is correct, it does not meet all the requirements of our example scenario. By having all the registry information stored into a single table, we cannot add more registry types without modifying the code.
So, in this case, we will want to break down our data into multiple tables: