エンティティ関係をセットアップしようとしていますが、必要な関係を理解するのが困難です:
私は単一のエンティティ、人を持っています。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 (選択のためにテーブル ビューに表示する必要がある) であるかどうかがわかりません。