![]() |
1
36
你得把桌子分开。您可以有以下模式和结构
在用户表中可以有用户。“消息”表示消息的表MessagePlaceHolders”表示消息占位符的表格。占位符可以是收件箱、已发送邮件、草稿、垃圾邮件或垃圾。”用户\消息\映射”表示用户和消息的映射表。“UserID”和“PlaceHolderID”是外键。“IsRead”和“IsStarred”表示它们的名称代表什么。 |
![]() |
2
4
我认为你需要进一步分解你的模式。分别存储电子邮件,并将收件箱映射到其中包含的邮件。 |
![]() |
3
4
如果你在做面向文档的工作,我建议你看看 CouchDB . 它是无模式的,意味着这样的问题消失了。 让我们看一看这个例子:a向B发送一条消息,然后被B删除。
您将拥有该文档的一个实例,其中
这是一个与你过去习惯不同的数据处理方法,但可能需要花费一些时间来考虑。 |
![]() |
4
2
若我是你们,我会设置两个标志,一个是发送方的,另一个是接收方的。若这两个标志都是真的,那个么消息应该从数据库中删除,否则就把它保存在数据库中,但对删除它的人隐藏它。
|
![]() |
5
1
一封邮件一次只能在一个文件夹中,因此您需要一个文件夹表(包含文件夹“Trash”、“Inbox”、“Archive”等)和一个从邮件到文件夹的外键。 对于标签,您有一个多对多关系,因此您需要一个标签表和一个链接表(messages\u labels)。 对于星号,一个简单的位列应该做,同样的'未读'。 |
![]() |
6
1
您可以为MessageContacts创建一个表,该表将每条消息连接到邮箱中的联系人。当用户删除一条消息时,会从MessageContacts中删除一行,但会保留原始消息。 你可以这么做。。。但我建议你不要。除非这是你的导师设定的学术练习,否则开发你自己的消息传递系统肯定是完全浪费时间。如果是家庭作业,那么你应该这么说。如果没有,那就去做一些更有用的事情。 |
![]() |
7
1
|
|
8
0
为什么要删除?我认为没有必要删除任何内容。只是隐藏它,从用户删除时。因为,当发送者向许多接收者发送相同的消息时,检查双方都会有问题。然后您必须检查并标记所有收件人。如果一切正常,则删除。。。 我认为没有必要删除任何内容。 |
|
9
-1
在我的结构中,我设置了“deleted:bool”标志并根据其值显示消息或隐藏。 |
![]() |
Yoko · 试图用Javascript在表格中发送多个PDF块 7 月前 |
![]() |
Shane Brodie · 生成的电子邮件中出现奇怪的字符 7 月前 |
![]() |
user27173209 · 脚本中的newaliases导致权限被拒绝 10 月前 |
![]() |
Martin · 后端JavaScript文件EmailJS发送错误 1 年前 |
![]() |
Majoris · Django无法发送电子邮件,即使conf是正确的 1 年前 |
![]() |
HarriS · MS Graph API:在查询中使用包含运算符 1 年前 |