2

ASP.netMVC3でブログタイプのWebサイトに取り組んでいます。私は、賛成票/反対票の投稿にどのように対処するかを理解しようとしています(スパム投票を防ぐために、どのユーザーがすでに投票したかを知る必要があります)。ブログ投稿へのコメントは別の問題です。

これまでの私の考え(私は彼らがマークからかなり離れていると確信しています):

投票:

  • ユーザーIDのリストをブログテーブルの投票済みフィールドに保存します。
  • ユーザーテーブルのユーザーごとに、投票したすべてのPostIDのリストを保存します。

コメント:

  • 別のコメントテーブルを作成し、そのテーブルに親ブログ投稿を参照するフィールドがあります。
  • コメントIDのリストをブログテーブルのコメントフィールドに保存します。

これについては他にもいくつかの方法があることは知っていますが、ユーザーが殺到した場合にすべてを書き直す必要がないように、これを設定しようとしています。

4

1 に答える 1

3

User | Post | TypeのようなVotesテーブルの作成を検討したいかもしれませんか?ジョン|43|アップメアリー|43|ダウン

User + Postを複合主キーにして、両方でインデックスを作成します...次に、ユーザーがすでに投稿に投票したかどうかを簡単に確認できます...必要に応じて、ユーザーまたは投稿ごとに追加のインデックスを作成することもできます。 。

また、ブログの表に「現在の上昇と現在の下降」を含めることをお勧めします。そうすれば、毎回それらを数える必要はありません...

于 2012-07-19T02:04:04.480 に答える