Proponuję następujące tabele:
a) Przepis - nazwa, opis, składnik i inne informacje
b) Składnik - nazwa, opis, fromstore (tak lub bez wartości w przypadku zakupu w sklepie), recipieid (identyfikator przepisu na ten składnik). Dzięki temu składniki mogą mieć przepisy
c) recipie_ingredients - receipieid, componentid (w zasadzie wiąże przepis ze składnikami)
Porada jest słuszna, ponieważ możesz skończyć w okrągłej pętli składniki do przepisów itp
AKTUALIZACJA:Zalecam dodanie kolumny isingridient do przepisu, aby do tabeli składników można było wybrać tylko te przepisy, o których wiadomo, że są składnikami. Może to pomóc zmniejszyć prawdopodobieństwo wystąpienia odwołań cyklicznych