私のシステムでは、マネージャーが投票を作成して世界に公開し、投票へのリンクを持っているユーザーが回答できるようにします。
複数の回答を受け取るように設計された質問があるため、ユーザーは 1 回の回答で複数の気晴らしを選択できます。
DB の応答テーブル構造
- ID
- ActivityID - 投票 ID
- 値 - 地区の値
- タイムレスポンス
データベースでは、現在、各応答を個別に保存しています。
例を挙げます 投票に4つの地区があるとしましょう (a,b,c,d) ユーザーは次の地区を選択します (a,b,c)
応答テーブルは次のようになります。
ID ActivityID Value TimeResponse
1 234 a 01/01/2012
2 234 b 01/01/2012
3 234 c 01/01/2012
したがって、ID を数えようとすると、特定の投票で回答された地区の数を表す数字 3 が得られます。
しかし、特定の投票でユーザーごとの応答数が必要なので、どうにかしてこれら2つを組み合わせる必要があります...
これまで、次の解決策を考えていましたが、どちらも良くありません。
- 最初の解決策は、ユーザーの IP の列を追加することでしたが、ユーザーの IP を取得できない場合があります。
- 2 番目の解決策は、sessionIDManager を使用してユーザーの sessionID の列を追加することでしたが、ユーザーが 2 回応答した場合 (2 つの応答)、同じセッション ID が格納されます。
参考までに、アンケートに回答するユーザーは匿名です。
また、システム要件の 1 つは、ユーザーが投票に複数回回答できるようにすることです。