-- 一起4张表 消息类别表,消息表,发送消息人员表,接收消息人员表 -- 至于会员要接收到信息后删除自己,其实可用标记处理而无作废,也就存在---回收站的概念,最后也可以彻底删除 -- 消息表单独拿出来不做任何处理,这样数据也不会冗余,发送人与接收人的处理分别可以单独处理 ---------------消息类别表----------------- TMessageType FTypeID FTypeName FTypeMemo ---------------消息表--------------- TMessageInfo FMessageID FTypeName --(这里也不需要放置ID,为提高性能)直接放类别名称 FContent FSendDate ---------------发送消息人员表-与消息表关联获取所有信息-------------- TSendMessage FSendID --主键ID FMessageID --TMessageInfo主键ID FUserID --用户ID FSendPerson --发送人 FCancel --是否作废标记,也可作为删除删除标记 ---------------接收消息人员表-与消息表关联获取所有信息---- TReceiveMessage FReceiveID FMessageID FUserID FReadFtatus --是否读取 FCancel -----------------用户表----------------- TUserInfo(结构为你自己的)FUserID为主键ID --SQL语句大概写法(我用SQLSERVER) --1.发送所有人 INSERT INTO TReceiveMessage (FMessageID,FUserID,FReadFtatus,FCancel) SELECT FMessageID,FUserID ,0,0 --默认未读 FROM TUserInfo,TSendMessage WHERE FSendID=@FSendID --2.发送指定人 INSERT INTO TReceiveMessage (FMessageID,FUserID,FReadFtatus,FCancel) SELECT FMessageID,FUserID ,0,0 --默认未读 FROM TUserInfo,TSendMessage WHERE FSendID=@FSendID AND FUserID=@FUserID --TMessageInfo与其它2张消息表 建立好主外键约束就行了
站内消息系统数据表怎么设计
最新推荐文章于 2024-07-24 17:35:49 发布