2012-03-01 22 views
1

私は新しいデータベースを設定しています。私は循環参照を参照しており、これを設計する最良の方法は不明です。循環参照を回避しようとしています

だからここは普通の英語です。

私はレシピを持っています。レシピは食材を必要とします。このレシピの成分の1つが別のレシピを必要とする場合を除いて、これはすべて上質で良いです。例えば

: 私はサラダ(レシピ)を作りたい
それはレタス、ニンジン、タマネギ(。。すべての良い今のところちょうど店は食材を買って)
を持っていますが、私は牧場のドレッシングを持っていると思います。 (ええと、私は店で牧場のドレッシングを買うことができますが、私は牧場のドレッシングを作るために使用したい牧場のドレッシングのレシピを持っています)

どのように最高のレシピと材料のテーブルを作成するファッション?私はそれを行う方法についてすべての準備ができていると思っていますが、それは循環参照を含み、すべてのWebサイトはそれから離れていると言います。

+0

ssmusokeの答え私は正しいと信じています。これは、自己参照が意味を成す場合です。プログラミングロジックとの関係のネストされた性質を処理する必要があります。あなたはエンドユーザーについて考えるなら、元のレシピのすべての成分の成分をすべて表示することは望ましくありません。彼らは、牧場のドレッシングを購入するか、牧場のドレッシングレシピを取得するためにボタンをクリックするかどうかを自分で決定します。 –

答えて

2

私は以下の表を示唆している:

をa)のレシピ - 名前、説明、isingredient及びその他の情報

B)成分 - 名前、説明、fromstore(yesまたはno値のは、Aから購入した場合店舗)、recipieid(この成分のレシピのID)。 receipieid、ingredientid(基本的に、これはその成分にレシピを結びつける)

あなたはrecipiesなどに円形ループ状の成分で終わることができるのでアドバイスは、正しいです - これはrecipies

C)recipie_ingredientsを持っている食材を可能にします

更新:isingridientカラムをレシピに追加することをお勧めします。これは、成分であると分かっているレシピだけが成分表に追加できるように選択することです。これは循環参照の可能性を減らすのに役立ちます

関連する問題