站内信以及站内信的表设计

站内信:如博客园右上角的短消息:

 

表设计思路,1.首先要有一个message_info表来记录消息的主要信息,如标题(message_title),消息内容(message_txt),点击内容跳转的连接url(message_url),

消息类型(如活动推广消息,跟普通消息不一样,推广消息可能是一张图片) message_type,如果是图片消息,就要存图片img_url,消息是否需要做成定时推送呢?例如

我在后台设置了一条消息,准备明天再推送,此时要加一个push_time(推送时间),消息是否发送成功,该消息是否需要记录发送成功的数量(已读),失败的数量(用户未读),

另外还有消息的发送者编号,昵称之类的,根据业务需求添加就好.

2.有了主表后,那么就要有一张中间关系表(message_user)跟用户关联,这张表用于存用户有哪些消息,该表的主要字段是user_id,message_info_id,预留一个状态表示用户有没拉取过该

消息,因为将一条消息发给用户,如果用户有几百万,有90多万用户是没登录的,那么这张中间表就只需加一个status字段标记用户有没拉取过用来达到性能提高的目的

3.用户登录后,先去中间表根据用户编号和status字段拉取没有拉取过的消息回来存到个人消息表,个人消息表message_send,存有message_title,message_title,message_url这些冗余字段,

当然也可也不冗余,毕竟通过中间表可以拿到这些信息,这里主要的字段还是status代表是否已经被阅读,isDel代表是否被删除

4.message_template消息模板也可以作为message_send的来源

如下图设计的不是很好,可以在这基础上进行自己的业务修改(字段使用了驼峰命名法):

 

 

 

---恢复内容结束---

原文地址:https://www.cnblogs.com/yangxiaohui227/p/10406273.html