Proper creation of a database with categories that have sub-categories
Meals and Ingredients are two separate entities joined like M:N. The most common storing structure consists from 3 tables - one table per each entity (2 tables) and join table which is referenced to first two tables. - Akina

You might find the following Q &amp; A helpful: When to add another lookup table for the same field