本站(segmentfault)的评论系统的数据表结构是怎么设计的?

评论系统涉及到下面这些要素:

users用户
questions问题
answers问题的回答
comments 回答的评论
replies 评论的回复

question_applauses 对问题的点赞
answer_applauses 对回答的点赞
comment_applauses 对评论的点赞
reply_applauses 对评论回复的点赞

adopt_answer 采纳的回答

问题
1、需要哪些数据表?
2、这些数据表之间的关系是怎样的?

阅读 2.6k
1 个回答

评论和回答应该是分表的。
评论表应该会有这些字段:
id 自增
content 评论的内容
uid 谁写的评论
type 类型,是问题的评论,还是回答的评论
qid/answer_id 问题或回答的id,当然,也可以把问题评论和回答的评论分成不同的表,这样,type字段就可以不要了。
time 添加时间
zan 获得的点赞数
pid 回复的对象,如果没有则为0
status 状态,正常,还是被删除,或者是用户自己删除(删除方式,segmentfault 不一定有区分)

相关联的表应该有:
用户表,与uid关联
问题表,与qid关联
回答表,与answer_id关联(与qid二选一)
赞同表,每一个赞同应该都是有纪录的,所有应该有个独立的表。

是我的话,差不多会这样设计。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题