我在这里检查了这个问题,但不幸的是,图表的链接不起作用,所以我被卡住了。
我正在尝试为一个用户(工作、业务、个人等)发送多封电子邮件,但我不确定如何最好地处理这种情况。
我想有 4 个表:user、email、email_type 和 user_has_email(用户 N:M 电子邮件)。我做了两张图,但我不知道哪一张会更好。
如果一个用户有相同的工作和个人电子邮件(因为我不必存储它两次),第一个图表对我有帮助。第二个选项也不错,但即使一个用户将同一电子邮件用于工作、商务、个人等,我也必须存储两次或更多电子邮件。
我打算使用相同的想法来存储地址,它比电子邮件占用更多的空间,我认为图 1更适合于此。
你怎么看?
图 1
- user_has_email 的解释:我选择进行 email_type PK 是因为可能存在用户拥有相同的工作或个人电子邮件的情况。如果我不 PK email_type,我将只能为每个用户拥有一个 email_type。我是不是太复杂了?
图 2