首页 > 解决方案 > 创建一个数据库表,其中条目可以来自另一个表或全新的输入

问题描述

我有一张客户、员工和供应商的表格。它们中的每一个都有一些常见的字段,如姓名、地址、联系人编号和电子邮件以及其他字段。现在,我想要一个名为 Investors 的新表。但是,投资者可以来自员工、供应商、客户或全新的人。投资者既有上述共同领域,也有自己的领域。我该如何设计桌子?

标签: databasedatabase-designsoftware-design

解决方案


拥有一个people包含通用字段(名称、地址等)和JOIN适当的特定表的通用表怎么样?

要读取客户(通过客户 ID),您将SELECT * FROM people p JOIN customers c ON p.id = c.person_id WHERE c.id=...

要阅读投资者(通过投资者 ID),您将SELECT * FROM people p JOIN investors i ON p.id = i.person_id WHERE i.id=...

这样,同一个人既可以是客户又可以是投资者,这取决于观点。


推荐阅读