嵌套约束 - 基于另一个表的约束条目

时间:2014-01-23 00:38:40

标签: sql database database-design database-schema

我有三个表:设施,项目,系统。

设施。 FacilityID是Facility表中的PK。 项目。 ProjectID是Project表中的PK。 系统。 SystemID是System表中的PK。

项目只能与一个设施相关联。这种一对一的关系是通过FK设施建立的。 FacilityID - Project表中的Project.FacilityID。

设施可以有许多系统。这种一对多的关系是通过FK设施建立的。 FacilityID - 系统。 System表中的FacilityID。

System表中还需要一个列来存储影响该系统的最新项目的ProjectID。如何添加仅允许输入对该System表行的FacilityID有效的ProjectID值的约束?

1 个答案:

答案 0 :(得分:0)

所以Project包含ProjectID和FacilityID,System包含SystemID,FacilityID和ProjectID。

您可以在ProjectID和FacilityID上创建项目的复合索引,然后在SystemID的System和FacilityID中创建一个复合FK,链接到System上的新索引。

相关问题