评论和通知系统的数据库表要怎么设计?

评论和通知系统的数据库表要怎么设计?,第1张

标识新闻的唯一标识 ID int (自增长) (主键)新闻标题Title varchar(100) 长度自定100差不多是50个中文 可以根据需要来设置新闻作者Author varchar(20)长度根据用户表中的用户名列表的长度来定发布时间ReleaseTime datetime修改时间UpdateTimedatetime新闻内容Content text能存放最大值为2147483647个字符的变长文本(如果不需要那么长的内容 可以考虑使用varchar(max)可存储最大值为8000个字符的可变长字符串)新闻关键字Keywordsvarchar(200) 用逗号等符号分隔关键字(新闻,发布,系统)新闻类别CategoryIdint (要使用类别的话要再建立一个类别的表) 如果要简单点可以省略关键字 类别等要复杂点可以再加不少东西 比如加等对应的表

评论表(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 可以省去关联查询。

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


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存