回复表(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(复合主键)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)