看到这个贴子:http://bbs.csdn.net/topics/70369356 第16楼的想法不错。但是我现在要的需求不止是发短信,还要有回复,那这个回复以及回复后的短信是如何去向呢?比如:A发短信给B,那么这条短信同时保存在A的发信箱和B的收信箱(此短信的发信人是A,收信人是B),当B回复短信后,此短信的发信人和收信人要改变吗(如果A再追问,B再回复.....这样的收信人和发信人会不会乱套?)?B的发信箱会保存到这条短信吗(按理说此短信最初不是收B发出的,应该不会保存)?当B回复后,在B的收集箱里此短信的内容会发生怎样的变化 及 此短信是否会出现在A的收信箱?如果是出现在A的收信箱,那之前在A的发信箱里的此短信会有什么变化?有高人帮我设计出这样的数据库 以及 相关的流程吗?
标题
内容
创建时间b2.状态表 (收件箱)
发信人ID
收信人ID
短信ID
上一条短信ID
初始短信ID
收信时间我是矮人
基本http://bbs.csdn.net/topics/70369356 第16楼的想法改造 收件箱增加‘上一条短信ID’,以及‘初始段行ID’,如果需要删除,收件箱增加一个删除标示就行。
逻辑如下,
第一次 A发给B,发信任A,收信人B,,b1,b2各增加一条数据。b2数据中,上一条短信ID为 -1,初始短信ID=短信ID =N1
B回复, ,b1增加回复短信信息,b2增加数据,发信人B,收信人A,同时上一条段行ID=初始短信=N1,短信ID=N2
A继续回复,b1继续增加短信信息,b2增加数据,发行人A,收信人B,同时初始短信=N1 ,上一条短信ID为N2
以此类推,原则是将回复等都做一条段里的数据存在,通过b2表配置短信之间的联系.上一条短信的作用是为了建立完整的树形结构;
初始短信ID,是为了方便一次行查询整个短信的发送/回复数据。A的收件箱只显示收件人为A的短信,B同样,发件箱同理如果短信段单条显示(发送,回复都做为单一的数据显示,类似2G手机),以上条件满足。
如果短信多条显示(将整个树形结果显示出来),则入口通过查询上一条短信ID为-1,获取到每一个树形结构的头节点。
linux上的输入法有点别扭,输入错误的地方见谅。