2

Core Data モデルがあり、それを構造化する方法を理解しようとしています。

私が持っているとしましょうRecipe。、 、および 5 つの成分がnameありますtitleimage

recipeName、でレシピ エンティティを作成しますかtitle。次に、を持つImageエンティティ。recipeNameimageURL

次に、、、、、などのIngredientエンティティ...recipenameingresient1ingredient1measurwmentingredient2

または、すべてをレシピ エンティティの下で行うことになります (ただし、理論的には、100 の材料を使用してレシピを作成するとどうなるでしょうか?

また、それrecipeNameがあなたがそれらをリンクする方法だと思うので、私は使用しますか?

4

1 に答える 1

18

あなたの質問に基づいて、2 つの異なるエンティティを作成します。

RecipeIngredient

whereRecipeは と対多関係にありIngredientます。

したがって、Recipeいくつかの属性 (必要な属性) と、たとえば と呼ばれる単純な関係がありますtoIngredientstoIngredients対多関係です。つまり、レシピには 0 (必要に応じて 1 つ) の材料を含めることができます。

同様に、Ingredientいくつかの属性を持っています。さらに、 に対して呼び出される 1 対 1 () の関係toRecipeがありRecipeます。ここで、レシピが材料を共有できる場合は対多にすることもできますが、それはモデル化するものに厳密に依存します.

リレーションシップのルールについてtoIngredients、カスケード ルールがあります。レシピを削除すると、その材料もすべて削除されます。逆にtoRecipe無効化するタイプになります。

ここにその簡単なスキーマがあります。

ここに画像の説明を入力

toIngredients次のように設定されます。

ここに画像の説明を入力

そしてtoRecipe次のとおりです。

ここに画像の説明を入力

オプションのフラグ fortoRecipeがチェックされていないことに注意してください。これは、レシピが存在する場合にのみ成分が存在できることを意味します。このルールに従わない場合、Core Data はこれについて文句を言います。

画像については、画像の大きさによって異なります。モデルCore Data - 画像の保存 (iPhone)を設計する方法を決定するための Marcus Zarra ルールに従います。

于 2012-12-28T16:43:31.210 に答える