【发布时间】:2019-01-11 09:19:56
【问题描述】:
我有两个表 Customer 和 Partner 共享相同的属性(列名),但它们没有相同的关系。
关系如下:
只有客户有帐户。
一个客户只能有一个合作伙伴。
客户有职业。
合伙人有职业。
我的解决方案:
1
使用外键 (customer_id) 创建一个包含所有属性的单个表 (User),以引用合作伙伴的相关客户,
所以:
客户是具有 (account_id) NOT NULL 和 (Customer_id) NULL 的用户
合作伙伴是具有 (account_id) NULL 和 (Customer_id) NOT NULL 的用户。
2
为客户和合作伙伴创建两个单独的表,并在合作伙伴表中放置一个外键以引用他的相关客户。
3
创建一个包含所有公共属性的基表,并在客户表和合作伙伴表中添加一个外键以引用此表。
我想知道哪种方法看起来是正确的。
【问题讨论】:
标签: mysql database-design