我现在想做一个类似SNS的小网站,其中里面可能有几个模块(譬如假设有日志、图片、投票..等),可能后续还要加一些模块,其中每个模块都有一个用户评论回复功能。现在问题来了,各位高手帮看看:
1.做一个总的评论表,加一个标志字段,代表着是哪个模块的评论;
2.针对每个模块做一个评论表我个人更倾向于第二种方案。这样设计虽然相似的代码要重复的多写几遍,但是我自我感觉更利于模块化,譬如现在别人再开发一个模块,可以整个移动过来,也可以把此模块完整移动到另一个项目里;如果用第一种方案,这个评论表的冗余字段可能要加不少(每个模块评论可能有不同的要求)
高手们指点下,应该用哪一种方案比较好啊?(另:用第二种方法,我有个问题不知道怎么解决,譬如我现在要看我所有的评论,并且按照评论时间先后排序,应该怎么做?是不是可以做每个评论表的一个总的视图,然后来查询吗?效率没问题吧?)预祝各位新年快乐!!!多谢了~~~

解决方案 »

  1.   

    另:用第二种方法,我有个问题不知道怎么解决,譬如我现在要看我所有的评论,并且按照评论时间先后排序,应该怎么做?是不是可以做每个评论表的一个总的视图,然后来查询吗?效率没问题吧?) 如果表过多,关联起来效率可能就比较低了
      

  2.   

    如果数据量不大,用方案一,便于各方面的统计.
    1.做一个总的评论表,加一个标志字段,代表着是哪个模块的评论; 如果数据量大,主表记录达到百万级,用方案二,不过统计麻烦些,需要关联表进行统计.
    2.针对每个模块做一个评论表 
      

  3.   

    我觉得是第二种方案好。第一种方案里面,如果删去某一个某块,那这些模块中所有的评论删除时就有些麻烦,就是一个数据库设计的范式问题
      

  4.   

    也可以用一个评论表 与其他表关联
      

  5.   

    什么意思?能说详细些吗?谢谢啊