Saya akan menyarankan tabel berikut:
a) Resep - nama, deskripsi, bahan, dan informasi lainnya
b) Bahan - nama, deskripsi, dari toko (ya atau tidak ada nilainya jika dibeli dari toko), recipieid (id resep untuk bahan ini). Ini memungkinkan bahan untuk memiliki resep
c) recipie_ingredients - receipieid, ingredientsid (pada dasarnya ini mengikat resep dengan bahan-bahannya)
Sarannya benar, karena Anda bisa berakhir dalam lingkaran bahan bentuk lingkaran untuk resep dll
PEMBARUAN:Saya akan merekomendasikan menambahkan kolom isingridient ke resep sehingga hanya resep yang diketahui sebagai bahan yang dapat dipilih untuk ditambahkan ke tabel Ingredient. Ini dapat membantu mengurangi kemungkinan referensi melingkar