【发布时间】:2020-11-20 16:58:51
【问题描述】:
我有一个表[Advertiser] 和一个表[Ad] 有一个N..M 关系,Advertiser 可以有多个Ads,这样[Ad] 将有一个引用[Advertiser] 的列。
Advertiser 可以是公司或个人,输入到表格中的数据会有所不同。所以我的想法是我应该将[Advertiser] 表拆分为两个表,例如[CompanyAdvertiser] 和[PersonAdvertiser]。
那么是否有可能在[Ad] 中有一个列引用[CompanyAdvertiser] 或[PersonAdvertiser],这取决于谁应该是Advertiser?
【问题讨论】:
-
假设它们有相同的类型,你可以有这样一个列。但是您不能使用该列与两个不同的表建立外键关系。
-
您是否可以为特定 RDMS 提供解决方案?标记它,如果有的话。
-
只需在广告客户表中为广告客户类型、公司或个人提供一列。
标签: sql database-design referential-integrity