次の表をお勧めします:
a)レシピ-名前、説明、成分およびその他の情報
b)材料-名前、説明、店舗から(店舗から購入した場合は値なし)、レシピ(この材料のレシピのID)。これにより、材料にレシピを付けることができます
c)recipie_ingredients-receipieid、componentid(基本的にこれはレシピをその材料に結び付けます)
レシピなどの材料を円形のループ状にすることができるので、アドバイスは正しいです
更新:材料であることがわかっているレシピのみを選択して材料テーブルに追加できるように、レシピに成分列を追加することをお勧めします。これにより、循環参照の可能性を減らすことができます