SQL Schema 允许用户向各种表添加注释

标签 sql schema

所以,我正在构建一个网站,我将拥有标准的 CMS 表,如文章、博客、投票等。我想让用户对这些项目中的任何一个发表评论。所以我的问题是,我是否需要为每个表创建单独的评论表(例如 ArticleComment、BlogComment、PollComment),或者我可以制作一个可以与任何表一起使用的通用评论表吗?什么对人们有用?

方法一:多评论表

  • 文章 {ArticleID [PK], Title, FriendlyUrl}
  • ArticleComment {ArticleCommendID [PK], ArticleID [FK], Comment}
  • 博客 {BlogID, Title, PubDate, Category}
  • BlogComment {BlogCommendID [PK], BlogID [FK], Comment}
  • 投票 {PollID, Title, IsClosed}
  • PollComment {PollCommentID [PK], PollID [FK], Comment}

  • 方法二:单评论表
  • 文章 {ArticleID [PK], Title, FriendlyUrl}
  • 博客 {BlogID, Title, PubDate, Category}
  • 投票 {PollID, Title, IsClosed}
  • 评论 {CommentID [PK], ReferenceID [FK], Comment}
  • 最佳答案

    我会使用通用评论表。它会让很多事情变得简单得多。我还会用创建它们的用户的 ID 或其他来源识别信息(IP 地址等)来标记评论。即使您不显示它,当您必须清理垃圾邮件等时,它也会非常方便。

    关于SQL Schema 允许用户向各种表添加注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/667351/

    相关文章:

    java - Java 类是 SQL 关系数据库的良好替代品吗?

    sql - 在 SQL 中建模国家/地区邻接关系

    mysql - 帮助设置 MySQL 数据库

    php - 在单个服务器上为报告模块使用单独的数据库有什么优点吗?

    c# - 将 xml 模式和数据加载到 DataSet(和 datagridview)中

    database - 需要有关对处理民意调查响应的数据库进行非规范化的建议

    JSON Schema 嵌套 If Then

    sql - 尝试...捕获...插入

    mysql - 如何优化递归 INSERT 和 SELECT DISTINCT mysql 查询

    c# - 更新满足 datediff 约束的所有行的 int 列?