gpt4 book ai didi

mysql - 对于数据库电子邮件系统来说,什么是好的数据库设计?

转载 作者:行者123 更新时间:2023-11-29 14:56:53 24 4
gpt4 key购买 nike

我有一个像这样的简单表来创建数据库基础电子邮件系统,这是最好的方法吗?

TABLE `message`
- id
- parent_id
- message
- subject
- created_on
- is_draft
- sender_profile_id


TABLE `email_message`
- id
- is_read
- is_deleted
- message_id
- profile_id

案例 1:配置文件 A 向配置文件 B 发送电子邮件, B 回复(一对一 通讯)

INSERT INTO `message` (`id`, `parent_id`, `message`, `subject`, `created_on`, `is_draft`, `sender_profile_id`) VALUES
(1, 0, 'Hi what''s up how are u', 'Hi', '2010-12-08 11:27:54', 0, 1),
(2, 1, 'yeah i am gud', 0, '2010-12-08 11:28:19', 0, 2);

INSERT INTO `email_message` (`id`, `is_read`, `is_deleted`, `message_id`, `profile_id`) VALUES
(1, 1, 0, 1, 2),
(2, 1, 0, 2, 1);

情况2:

-配置文件 A 向配置文件 B、C、D 发送电子邮件。

-配置文件 B 将所有内容回复给整个组。

-再次回复整个小组。

-C 仅回复 A

INSERT INTO `message` (`id`, `parent_id`, `message`, `subject`, `created_on`, `is_draft`, `receiver_profile_id`) VALUES
(3, 0, 'Hi what''s up how are u', 'Hi', '2010-12-08 11:27:54', 0, 1),
(4, 3, 'yeah i am gud.', 0, '2010-12-08 11:28:19', 0, 2),
(5, 3, 'why are u gud?', 0, '2010-12-08 11:28:19', 0, 1),
(6, 3, 'what?', 0, '2010-12-08 11:28:19', 0, 3);

INSERT INTO `email_message` (`id`, `is_read`, `is_deleted`, `message_id`, `profile_id`) VALUES
(3, 1, 0, 3, 2),
(4, 0, 0, 3, 3),
(5, 0, 0, 3, 4),

(6, 0, 0, 4, 1),
(7, 0, 0, 4, 3),
(8, 0, 0, 4, 4),

(3, 0, 0, 5, 2),
(4, 0, 0, 5, 3),
(5, 0, 0, 5, 4),

(6, 0, 0, 6, 1);

最佳答案

我觉得单个表会更容易实现:

表消息 - 消息 ID (GUID) - 父 ID (GUID) - 主题 - 信息 - 到 - 发件人 - 创建于 - 是草稿 - 已删除 - 正在阅读

如果您要向群组发送电子邮件,只需使用不同的“收件人”条目创建多个记录

关于mysql - 对于数据库电子邮件系统来说,什么是好的数据库设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4384876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com