邮政和评论计划

时间:2017-05-09 11:22:40

标签: sql sql-server tsql database-design

我需要允许评论不同的实体,如帖子,产品等:

  1. One Post / Product / ...可以有很多评论;
  2. 一条评论只能与帖子/评论/ ...
  3. 相关联

    我虽然有不同的方案,但我想出了以下方案和表格:

    1。每个实体都有自己的评论表:

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
    
    <ul class="nav nav-tabs">
      <li class="active" data-value="buy"><a data-toggle="tab" href="#home">BUY</a></li>
      <li data-value="rent"><a data-toggle="tab" href="#home">RENT</a></li>
      <li><a href="Post_Property.html">SALE</a></li>
    </ul>

    如果更多实体需要注释,它的缺点是需要更多表。

    2。所有实体的一个评论表(多对多):

        Posts (PostId), PostsComments (CommentId, PostId, CommentText)  
        Products (ProductId), ProductComents (CommentId, ProductId, CommentText)  
    

    如果更多实体需要注释,它的缺点是需要更多表。除了多对多的关系......

    第3。一个聚合评论的论坛表:

        Posts (PostId), PostsComments (CommentId, PostId)  
        Products (ProductId), ProductComents (CommentId, ProductId)  
        Comments (CommentId, CommentText)  
    

    将来如果我需要另一个带评论的实体,我只需要添加一个ForumId FK。

    您对每种方法有何看法?你有更好的吗?

1 个答案:

答案 0 :(得分:0)

这个怎么样:

评论表将包含有关帖子或产品的信息,可能都是。

评论(CommentId,PostId,ProductId,CommentText)