我有一个问题,比如
表A:
- 表BCId
表B:
- Id
表C:
- Id
我正在寻找一种创建外键表A的方法,其中一个条目可以在表B或表C中
示例条目:
表A:
- 表BCId:1
- 表BCId:2
表B:
- Id:1
表C:
- Id:2
我想尽可能避免:
- 表A中的两列
- 默认值
- 附加表
- 无法创建基础实体
欢迎每一个想法
答案 0 :(得分:0)
如果您不想在表A中创建新列。
然后您可以为B和C创建一个父表。
tableBC:
id
然后创建与表B和C到表BC的1-1关系。
tableB:
id,
parent -- 1-1 foreign key to tableBC
tableC:
id,
parent -- 1-1 foreign key to tableBC
现在,在表A中
tableA:
id,
TableBCId -- foreign key to tableBC
我们已经使用这种方法解决了类似的问题。