我的表在我的数据的基础上与这些规格:设置需求外键在数据库
- 一个PK
- 与外键
- 3场的一些统计信息字段
问题在这里:
在每一行中只会填充一个FK字段。 什么是A或B的最佳解决方案?
A-定义3 FK我的表
B-定义一个字段作为FK_TYPE和一个字段作为DEMAND_FK和使用检查上FK_TYPE的结果
我的表在我的数据的基础上与这些规格:设置需求外键在数据库
问题在这里:
在每一行中只会填充一个FK字段。 什么是A或B的最佳解决方案?
A-定义3 FK我的表
B-定义一个字段作为FK_TYPE和一个字段作为DEMAND_FK和使用检查上FK_TYPE的结果
选项A - 如果你得有这个设计,您需要为每个外键分别设置一个列。没有(标准)方法来定义“条件”外键。
如果您的系统支持检查约束,请包含一个检查约束,以使其中一个FK列不为null。如果它不支持检查约束,则添加强制执行相同检查的触发器。
感谢这个关键词! “有条件的外键”。这是我需要用Google搜索我的问题! –
如果我没有错,B在任何关系数据库中都是不可能的。外键只能引用表的一个主键。如果使用B,则必须在应用程序级别添加约束。否则使用A.
由于我的名誉低,我不能共享这些表的架构! –
“我不能共享这些表的模式” - 你可以将它们编写出来,然后将它们作为代码编辑成问题。我怀疑你试图做的是给我们一个图像 - 这比有脚本的*少*有用。 –