2

それ自体と多対多の関係を持つ(反射的)エンティティパーソンを設定する必要があります。

したがって、各人はn人のサブ人を持つことができます。基本的には次のようになります。

ここに画像の説明を入力してください

Personにはpersonとsub_personの2つの関係がありますか?逆のルールはどのように機能しますか?

4

3 に答える 3

2

要件を正しく理解している場合は、1つのエンティティPersonと2つの関係のみを定義する必要があります。

  • sub_personsとして-人からへの多くの関係、
  • super_personとして-人からへの1つの関係、

そして、これらを相互の逆の関係として定義します。

于 2012-12-14T19:51:29.107 に答える
1

二重リンクリスト内のノードが他のノードと次およびの関係を持っているのと同じように、エンティティは確かにそれ自体に関連付けることができます。エンティティはクラスのようなものであることに注意してください。特定のオブジェクトではなく、一種のオブジェクトです。したがって、たとえば、PersonエンティティにはPersonとの友達関係がある場合があります。特定の人物には多くの友達がいて、そのすべてがPersonのインスタンスでもある場合があります。

于 2012-12-14T19:42:57.743 に答える
1

このようにして、CoreData内のオブジェクトをそれ自体に関連付けることは間違いなく可能です。データモデルのテーブルグラフエディタで、Ctrlキーを押しながら、Personから線を引いて元に戻します。これにより、両端に矢印が付いた線が表示され、両方とも人を指しています。次に、リレーションシップ(parentPerson、subPersons)の名前を変更し、プロパティインスペクターでsubPersonsを多対多のリレーションシップにします。最終結果は次のようになります。

ここに画像の説明を入力してください

このスタイルのデータ管理は、複合パターンと呼ばれるデザインパターンに従います。

于 2012-12-14T19:54:08.907 に答える