有没有类似于" Super-Foreign-Key"对于这种情况?

时间:2016-02-26 16:45:09

标签: sql-server foreign-keys

我有几个表(为了讨论,所有列都是整数):

TableX的:

  • IdItem(PK)
  • 等级(PK)
  • 其他字段(PK)
  • SomeOtherFields

TableItems:

  • IdItem(PK)
  • IdCategory

TableCategoryLevels:

  • IdCategory(PK)
  • 等级(PK)

我只有一个TableItems和一个TableCategoryLevels但我有几个TableXs,它们只是因为"其他字段"和#34; SomeOtherFields"。

如果无法将Item与某个级别关联,我需要一个阻止INSERT进入TableXs的FK,同时考虑Items和Category之间以及Category和Level之间存在的关系。

是否有特殊的FK允许这个?

在我的情况下,我已经有了一个不同的解决方案,我将一个FK从TableX保留到第四个表,总是用TableItems和TableCategoryLevels的INNER JOIN填充(通过合并)。

但我有兴趣知道是否存在更具异国情调的解决方案。

Thankx

0 个答案:

没有答案