1

Webページのユーザーを含むusersというテーブルがあります。ユーザーは、ユーザー1がユーザー2に友情を要求する友情を作ることができます。現在の動作では、ユーザー1がリクエストを送信すると、友情テーブルに2つの外部キーuser_id_fromとuser_id_to、および0(リクエストは保留中)のいずれかであるstatusというフィールドを含む行が作成されます。 1または2は、user_id_toが友情リクエストを承認または拒否しました。最後に、ステータスは3になります。これは、ユーザーの1人が友情を削除したことを示します。

これは正しいアプローチですか、それとも保留中のすべてのリクエストを含む一時テーブルを作成し、(リクエストが受け入れられた場合)それをフレンドシップテーブルに挿入する必要がありますか?

4

1 に答える 1

1

論理的な観点からは、あなたがしていることは正しいです。なぜなら、私は保留中の友情の要求を、確認されていない友情の形と個人的に考えるからです。

デザインの観点から、ユーザーが友情のリクエストのリストを表示する必要があるたびに、一時的なテーブルをどのように作成するかはわかりません。テーブルが一時的でない場合は、confirmed_friendshipsおよびpending_friendshipsという名前のテーブルがあります。

保留中の友情に固有で確認済みの友情に使用できない列が多数ある場合、またはその逆の場合を除いて、両方を同じテーブルに保持することを強くお勧めします。

于 2012-10-30T20:42:13.653 に答える