1

Google+ サークルなどのデータベース構造 (mysql) がどのようなものであるか、ユーザー定義のサークルをどのように追跡しているかに興味があります。ユーザーが特定の他のユーザーとコンテンツを共有することを選択できるアプリに、同様のものを実装したいと思います。

基本的に、ユーザーは自分が定義したグループに友人を配置して、友人が見ることができるコンテンツをフィルタリングできます。今のところ、フレンド システムのかなり単純な実装があります。これは、ユーザー テーブルとフレンド テーブルを含む標準の正規化されたデータベースです。

「グループ」またはサークルのデータベース構造をどのように設定するかについて、誰かが光を当てることができますか? Friends テーブルに追加のフィールドを追加することを考えました。これは、groups テーブルへの外部キーになります。ただし、特にユーザーがグループを定義し、任意の数のグループに友人を配置できる場合は特に、これがすぐに扱いにくくなることがわかります。

これをすばやく実装する方法や、Google のサーバーの計算能力を必要としない方法はありますか?

4

1 に答える 1

0

私が考えることができる最良のアプローチは次のとおりです。

users テーブル
friends テーブル (2 つのユーザー ID と、おそらく「承認済み」または「まだ」のフィールド 1 つ) - 双方向の友情
グループ テーブル (group_id、所有者 (またはそうでない)、説明)を
お勧めします group_participants テーブル (group_id、user_id と、おそらく 1 つのフィールド「承認済み」または「まだ」の場合)

また、何かを割り当てたい場合は、「グループ」などのさまざまなオプションを使用したり、次のような文字を使用してグループのリストをユーザーのリストに追加したりできます。

  • ジョン
  • ケイト
  • 研究室(Gr)
  • 友達 (Gr)


また、グループへのコンテンツの割り当ては 2 つの方法で管理できます
。ハエ(これにより、割り当てがグループから誰かを追い出すことに耐えます)

オプション 1 を使用する場合は、「ハンド ピッキング」によって割り当て権限をユーザーに非表示のカスタム グループのように機能させることができます。

ちょうど私の2c

于 2012-12-01T07:49:25.297 に答える