私は、ユーザーが他のユーザーとの 2 種類の関係のいずれかを持つことができるアプリに取り組んfavoriting
でfollowing
いis favorited by
ますis being follow by
。電話する。
ユーザー モデルを作成する際に考慮すべきことは何ですか? 具体的には、以下を指定する 1 つのモデル、リレーションシップを用意する必要があります。
Relationships
user_1 | relationship_type | user_2
Relationship_type はfavoriting
、またはfollowing
?
または、2 つの別々のモデルを使用する必要があります。
Favorites
user_1 | user_2
Follows
user_1 | user_2
私はデータベースについてあまり詳しくないので、これら 2 つの潜在的なセットアップを選択する際の考慮事項について尋ねてもよろしいですか? 2 は 3 より正規化されていますか、それともそれ以下ですか? それは問題ですか?どのような状況で?
アップデート
「reviews」/「reviewed_by」のような 3 番目の関係があるとしましょう。質問は、2 つの異なる双方向の関係タイプではなく、約 3 です。関係タイプの数を増やすことはこれに影響しますか?
Favorites
user_1 | user_2
Follows
user_1 | user_2
Reviews
user_1 | user_2