邮箱的数据库应该如何设计?

来源:百度知道 编辑:UC知道 时间:2024/05/02 16:10:28
求助: 向大家请教一个邮箱表的设计思路? 谢谢!!!

邮箱表有:
1) 收件箱
2) 发件箱
3) 草稿箱
4) 垃圾箱

表名称: Message

字段: MsgId, FromId , ToId , Subject, Content, Position(记录位置), read(是否阅读)

我想用一个表实现所有功能:

a发给b一个信息, 这时产生两条记录好呢? 还是只要一条记录好呢?

两条记录的情况: A -> B

A 发件箱保留一条原始记录;
B 收件箱收到一条新的记录;

好处: 互相之间的记录不影响;
缸点: 一个操作产生两条记录;

一条记录的情况: A -> B

A 发件箱保留一条原始记录;
B 收件箱收到一条新的记录, 这条记录实际上就是A的原始记录, 只是标的位置不同;

好处: 只需要一条记录;
缸点: 需要多个标记, 说明各自记录的状态和所处的位置;

哪位大哥指点一下, 有无更简洁和合理的处理方法? 谢谢!!!
我现在最关键的问题是:
比如 UserA发了一封邮件给UserB 在邮件表产生了一条记录
邮件ID 发件人 收件人 ...
* UserA UserB ...
这条记录是会出现在发件人的发件箱中,也会出现在收件人的收件箱中,当其中任何一个人对这条信息进行删除的时候这条信息

你要分清状态的管理!就可以了!一张表也可以!
一张表实现,像你说的标记位置不同就可以了,只要ID,名称,位置在那个邮箱,状态是否阅读就可以了哦!
无论记录多与少还是与你系统需求有关。如果方便管理以后邮箱升级,系统升级还是多几张表还是比较好的哦!