sql - 存储博客评论/点赞 - 跟踪用户?

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

我正在 ASP .net MVC3 中开发一个博客类型的网站。我试图弄清楚如何处理帖子的赞成票/反对票(我必须知道哪些用户已经在哪里投票以防止垃圾投票)。对博客文章的评论是另一个问题。

到目前为止我的想法(我确信它们离目标很远):

投票:

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

评论:

  • 创建一个单独的评论表,并在该表中包含一个引用父博客文章的字段。
  • 将 CommentID 列表存储在我的博客表格的评论字段中。

我知道还有其他几种方法可以解决此问题,但我正在尝试进行设置,这样如果用户大量涌入,我就不必重写整个过程。

最佳答案

您可能想考虑创建一个投票表,例如 用户|帖子|类型? 约翰|43 |向上 玛丽|43 |向下

使 User + Post 成为复合主键,从而通过两者建立索引...然后您可以轻松检查用户是否已经为某个帖子投票...您还可以按用户或帖子创建附加索引,如果需要...

然后,在博客表中添加“当前上涨和当前下跌”也是一个好主意,这样您就不必每次都对它们进行计数...

关于sql - 存储博客评论/点赞 - 跟踪用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11551761/

相关文章:

java - 如何在 netbeans 7.2.1 中将 java 程序连接到 Derby

python - 是否可以将 django 模型类与 ManyToMany 关系合并?

asp.net-mvc-3 - MVC3 中的 SquishIt ForceRelease 不能正确缩小 JQuery 插件

asp.net-mvc-3 - 如何强制 MVC View 错误使项目编译失败?

database-design - 我应该将当前余额存储在个人理财应用程序中吗?

mysql - 如何向我的查询添加日期条件?

java - 将主键分配给 SQL 中的日期类型列

asp.net-mvc-3 - ASP.NET MVC3 - 使用 DependencyResolver 和温莎城堡 : Why?

php - 使用 Mysql 和 PHP 构建动态网站

sql-server - 将所有非聚集索引移动到 SQL Server 中的另一个文件组