我有以下表格:培训师,培训生和健康专业人员。 我需要将邮件列表字段合并到每个字段中,以标记那些想要接收我们的简报的人。
是否可以在每个表格中使用相同的字段,或者有更好的方法来解决此问题?
非常感谢,Zan
答案 0 :(得分:3)
您可能应该有一个people
表,其中包含mailing_list
。然后,如果您需要为培训师,培训人员等存储不同的数据,请将其保存在单独的表中,并通过使用外键使其可连接。
答案 1 :(得分:1)
我会尽量避免重复数据,
对于邮件列表,这里我将如何避免在不同的表中重复它 Foreign keys
| trainers | | trainees | | Health_prof |
|_________________| |_________________| |_________________|
| .... | | .... | | .... |
| mailing_list_id | | mailing_list_id | | mailing_list_id |
和一个表邮件列表
| mailing_list |
|_________________|
| mailing_list_id |
| all orther infos|
如果您的人员可以注册到多个邮件列表,我会使用第三个表格来建立人员和邮件列表之间的链接,并将相应的ID作为行,所以要注册,注销,您只需要插入/删除此表中的行
答案 2 :(得分:0)
假设培训师,受训人员和健康专业人员有共同信息(例如姓名,性别,出生日期,电子邮件地址等),您可能希望将该信息存储在单独的表格中,例如person_info。
如果您计划只有1份时事通讯或极少数类型的时事通讯(例如网站更新,优惠等),那么您可以将该信息存储为person_info表中的一个组合或每个时事通讯类型。
但根据我的经验,新闻通讯系统应该是它自己的一组表,其中订阅作为行存储,更像是EAV而不是列。这减少了业务人员需要新通讯类型时所需的DDL数量。