二级评论表的数据库设计

二级评论表的数据库设计,第1张

评论表(tbl_comment)设计如下:

回复表(tbl_reply)设计如下:

回复表添加了一个 comment_id 字段来表示该回复挂在的根评论 id,这样设计也是出于性能方面的考虑,我们可以直接通过评论 id 一次性的找出该评论下的所有回复,然后通过程序来编排回复的显示结构。 通过适当的冗余来提高性能也是常用的优化手段之一。

reply_type:表示回复的类型,因为回复可以是针对评论的回复(comment),也可以是针对回复的回复(reply), 通过这个字段来区分两种情景。

reply_id:表示回复目标的 id,如果 reply_type 是 comment 的话,那么 reply_id = commit_id,如果 reply_type 是 reply 的话,这表示这条回复的父回复。

由于二级评论一般是 “A @ B” 的形式,所以存下 from_uid 和 to_uid 可以省去关联查询。

多级评论表也是同一个设计,不过要嵌套比较深,一般没有那个必要。现在网上最常见的还是二级评论。

各表都只列出了主要属性,其余属性自己根据需求加吧

模型指标什么的太深奥了,看上去像是多对多的关系。

所以第一部分至少3张表

指标表:指标ID (主键)

模型表:模型ID (主键)

模型指标对应表:指标ID,模型ID(复合主键)

学生和课程也是多对多的关系,

所以也有跟上面类似的三张表,用户表(加个权限字段区分学生老师管理员教务人员,主键:用户ID),课程表:课程ID (主键),选课表:用户ID,课程ID (复合主键)

你的教师和课程应该是一对一的关系吧,把教师的用户ID作为外键添加到课程表里。

至于样本管理,描述不是很清楚,看样子应该跟模型一一对应的吧,样本表:样本ID(主),模型ID(外)

第三部分

评价表1 评价表ID(主),用户ID(外)

评价表2 评价表ID,模型ID(复合主键)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9867587.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存