Relational Database tables for food products - specifying different categories
<p>I am making database design for food products and I am getting lost in deciding how to design product types and categories in database. </p>

<p>Let me share my current database structure:
<a href="https://i.stack.imgur.com/3oJih.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/3oJih.png" alt="food product table and its dependencies"></a></p>

<p>Now lets think of real life example. Lets say if we take <strong>cheese product</strong>. And we just say it is <strong>smoked cheese with some flavor</strong>. Then we can assume that it is dairy product, and it would look something like this: <strong>Dairy -> Cheese -> Smoked -> Garlic flavor</strong>. </p>

<p>I have a list with different food categories and types enclosed:
<a href="https://i.stack.imgur.com/CFenU.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/CFenU.png" alt="food categories and types"></a></p>

<p>I was trying to list just part of it and it becomes very complicated from my point of view. </p>

<p>Two main categories of food would be: <strong>Food</strong> and <strong>Beverages/drinks</strong>, but maybe I should begin with those categories like Bakery, Dairy, Fruit &amp; Vegetables and etc.? Coz then in dairy products I may have food and drinks like <strong>cheese</strong> and <strong>milk</strong>. If we would take only cheese for now, I have googled and there is 66 different types of cheese maybe even more <a href="http://holykaw.alltop.com/wp-content/uploads/2014/01/the-charted-cheese-wheel_51ae17314abed.jpg" rel="nofollow noreferrer">can be found here</a>. </p>

<p>I know that everything could be simply added to maybe one table, but as I have so many different categories and types, and they repeats in each other, how could I make an optimal solution for that with the respect to all food categories? </p>

<p>I can conclude that <strong>yes</strong> I am not yet sure how to properly organize all the categories and types, but is there any table structure that you could propose?</p>

<p>If something is not clear enough, please let me know, and I will clarify that.</p>