【发布时间】:2011-03-27 07:39:30
【问题描述】:
我正在开发一个应用程序,用户在该应用程序中将图片上传到服务器,然后通过显示这些图片的链接向他们选择的人发送电子邮件。
我的问题是关于在数据库中组织人员(我使用的是 MySQL)。
我希望每个用户都有这样的人物树:
- 家庭
- 妈妈
- 爸爸
- 乔纳森
- 亲密的朋友
- 大卫
- 罗尼
- 其他
- 朱莉娅
- 彼得
- 亚历克斯
- Tanya(不属于任何组)
我想到了数据库中的以下组织:
电子邮件表(所有用户的电子邮件)
组表(所有用户组)
人员表(所有用户人员)
在电子邮件表中,不会有两封相同的电子邮件。 Emails Table 中的 name 是用户在添加电子邮件时给此人的名称(我称之为默认名称)。每个用户可能对同一个人有不同的名称。因此,这就是 People Table 中的 name 的含义。 People Table 中的 name=NULL 表示默认名称将出现在人员树中。 group_id=NULL 表示此人不属于任何组。
这一切看起来合理吗?
此外,如您所见,用户之间存在某种电子邮件共享。这意味着,如果 Julia 更改了 David 的电子邮件,所有其他用户也会看到此更改(他们将收到有关此更改的电子邮件)。您认为这会导致问题吗?
感谢您的意见!
【问题讨论】:
标签: mysql database database-design