-- 一起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张消息表 建立好主外键约束就行了
-- 至于会员要接收到信息后删除自己,其实可用标记处理而无作废,也就存在---回收站的概念,最后也可以彻底删除
-- 消息表单独拿出来不做任何处理,这样数据也不会冗余,发送人与接收人的处理分别可以单独处理
---------------消息类别表-----------------
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张消息表 建立好主外键约束就行了