1

エンティティ関係をセットアップしようとしていますが、必要な関係を理解するのが困難です:

私は単一のエンティティ、人を持っています。Person には、super_friend と subfriend という 2 つの関係があります。各エンティティは多くの友人 (Person エンティティ) を持つことができるため、sub_friend は対多の関係です。super_friend が何かわかりません。対1または対多の関係。

例: ビルはフレッドとテッドと友達です。アリスはフレッドとも友達です。

これは、Fred の super_friend が to-many である必要があるということですか?

編集:

Entity Person Bill の sub_friend は、Fred と Ted を指しています。

Entity Person Alice の sub_friend は Fred を指しています。

では、Fred の super_friend は、Entity Bill および Entity Alice とどのような関係にあるのでしょうか? 実体フレッドを引き上げると、それはビルかアリスだけを指しますか?

それが私の質問に答えただけだと思います。実体フレッドがビルとアリスの両方を指し示す必要があるので、多すぎます。各エンティティが一意であることを望みます。

Fred の super_friends が誰であるかを気にしない場合はどうなりますか? 私は、sub_friends を介して「ダウン」するだけで、super_friend/s を介して「バックアップ」することはありません。

編集2:

混乱のため、私のニーズを拡大させてください。エンティティを横断して分類する必要があります。

たとえば、私がビルだとすると、ビルのすべてのサブフレンド (フレッドとテッド) が誰であるかを確認する必要があります。フレッドを選択します。次に、Fred のすべての sub_friends を見つけて 1 つを選択する必要があります。これを n 回実行できる必要があります。

友達関係だけの解決策では、友達を引き離すことはできません。フレッドはジョンとステイシーを知っているとしましょう。Fred にクエリを実行すると、John が上位 (super_friend であり、気にしない) かどうか、または John が sub_friend (選択のためにテーブル ビューに表示する必要がある) であるかどうかがわかりません。

4

4 に答える 4

2

この図を見てください:

ここに画像の説明を入力

ご覧のように、Bill には多くの sub_friend があり、Fred には多くのエンティティの sub_friend があります。
したがって、これは対多の関係です。

編集

当たり前だと思っていたのですが、sub_friend は super_friend の逆の関係です。なぜなら、Bill が Fred を sub_friend として持っている場合、fred は Bill を super_friend として持っているからです。

于 2012-12-17T17:11:10.777 に答える
2

すでに述べたように、私はあなたのサブ/スーパー フレンドのコンセプト全体を理解していません。デザインはもちろんあなた次第です。しかし、常識的に考えれば、ビルがフレッドと友達なら、フレッドもビルと友達だというのは論理的ではないでしょうか。どちらも Person エンティティです。つまり、コアデータの用語では、 Person エンティティを指し、逆対多の関係である友人関係を持つことになりますか?

このコアデータ エンティティを見てください。ここに画像の説明を入力

リレーションのインスペクタに、逆対多リレーションが表示されます。

ここに画像の説明を入力

于 2012-12-17T17:57:10.707 に答える
0

sub_friend と super_friend が互いに反転していると仮定すると、sub_friend は 1:n の関係であり、super_friend は 1:1 の関係です。n を 1 に置き換えると、1 つのエンティティを見ているため、1:1 になり、1 つのエンティティは 1 つのスーパーのみを参照できます。

プロパティに関しては、sub_friends は NSSet に変わりますが、super_friend は Person * になります。

于 2012-12-17T17:28:30.813 に答える
0

確かに、あなたのコメントはあなた自身の質問に答えただけです =) フレッドには 2 人のスーパーフレンドがいると言いました。明らかに多くの関係。

もう少し拡張します。私の知る限り、sub_friend は直接の友人を意味し、super_friend は友人の友人を意味するため、脳内で関係名を変更しました。

友達の友達が 1 人しかいない場合は意味がないため、多数の関係は自然に適合します。

于 2012-12-17T17:51:44.257 に答える