网站短消息系统中的给全部人发消息,如此的数据库表改怎么设计才好?若只设计一张短消息表(即用户消息和系统消息都存在一张表里),
用户之间互发消息,插一条记录。系统发消息时插一条记录也可以, 把接收人的ID号取一个特殊的值,如0表示发给所有人.   
 
但是如果只插一条记录会有很多相关的问题,如:如果一个用户删除这条信息,是不是其他用户就看不到就条信息了??等,应该还有很多其他问题.还有如果这个人读了消息,如何标志这条消息已经被哪个人读了呢。
一般的网站消息系统是如何考虑此类问题数据表的设计与解决方案的呢?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【flydiego】截止到2008-07-12 20:46:22的历史汇总数据(不包括此帖):
    发帖的总数量:4                        发帖的总分数:30                       每贴平均分数:7                        
    回帖的总数量:12                       得分贴总数量:4                        回帖的得分率:33%                      
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:4                        未结的总分数:30                       
    结贴的百分比:0.00  %               结分的百分比:0.00  %                  
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    你考虑一下多表吧
    举个例子 table: user column : id name ....
            table: message column: id message ...
            table: message_state column: id userid messageid state...
    userid messageid 为相关fk。
      

  3.   

    再新建个表
    id  sysMessageId memberId
    某人看过某条系统消息后 就插入记录
    登陆后显示系统消息列表时做判断我不知道大网站都是怎么做的
    :)