存储博客评论/ Upvotes - 跟踪用户?

时间:2012-07-18 23:18:13

标签: sql asp.net-mvc-3 database-design schema

我正在使用ASP .net MVC3中的博客类型网站。我想弄清楚我将如何处理post upvotes / downvotes(我将不得不知道用户已经投票在哪里以防止垃圾邮件投票)。对博客文章的评论是另一个问题。

到目前为止我的想法(我相信它们相差甚远):

投票:

  • 将UserID列表存储在Blog表的投票字段中。
  • 对于Users表中的每个用户,存储他们已投票的所有PostID的列表。

注释:

  • 制作单独的评论表,并在该表中有一个引用父博客文章的字段。
  • 将CommentID列表存储在我的Blogs表的“注释”字段中。

我知道还有其他几种方法可以解决这个问题,但是我试图设置它,以便在我吸引大量用户的情况下,我不必重写整个内容。

1 个答案:

答案 0 :(得分:3)

你可能想考虑创建一个投票表 用户|发表|类型? 约翰| 43 |向上 玛丽| 43 |向下

使用户+发布一个复合主键,从而通过两者进行索引...然后,您可以轻松检查用户是否已经投票赞成某个帖子...您还可以按用户创建其他索引或发布需要...

我也可以在博客表格中获得“当前上升和当前下降”,因此您不必每次都计算它们......