如何解决多个表通过一对一的关系关联到一个最佳实践
假设我们有 3 个表:student、professional 和 contact_info。学生和教授都与 contact_info 有一对一的关系。 我可以像这样安排桌子
学生
id | contact_info_id |
---|---|
1 | 1 |
教授
id | contact_info_id |
---|---|
1 | 2 |
contact_info
id | 电话 | ... |
---|---|---|
1 | 123 | ... |
2 | 321 | ... |
或
学生
id |
---|
1 |
教授
id |
---|
1 |
contact_info
id | student_id | professor_id | 电话 | ... |
---|---|---|---|---|
1 | 1 | 空 | 123 | ... |
2 | 空 | 1 | 321 | ... |
我并不完全相信两者,因为我可以看到两者的利弊。我试图为我的问题找到重复项,但没有成功。也许有人可以用这种情况下的最佳实践来启发我。可能它会以 depends 结束,但我想听听。
解决方法
如果您使用 Person 实体来表示所有拥有联系信息的人,则这种正式设计会更容易。学生和教授都是人。碰巧这些人有不同的角色。事实上,在现实世界的大学中,有些人同时扮演着两种角色(想想研究生领导本科班)。
所以也许你有一个角色表。爱丽丝是终身教授。伯特是四年级本科生,也是一名助教。卡拉是一年级研究生。 Elian 既是三年级博士生,也是兼职教授。你明白了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。