参照完整性约束

时间:2016-03-10 21:35:17

标签: sql-server foreign-keys

是否有可能在复合主键中,对于不同的值,外键引用不同的表。我在下面描述。

患者表的pat_id为PK。 从属表具有pat_id,dep_Sno为PK(pat_id是来自患者的FK)。 Patient_visit表有pat_id,dep_Sno,pat_visit为PK(pat_id,dep_Sno FK来自依赖)。

现在的问题是,当patient_visit表中的dep_Sno为0时,指向patient_id的所有者,但是有关Patient_id的所有者的信息已经在患者表中,并且在依赖表中,只有dependents的信息将被保存,所以如果患者有家属,那么他们的信息将在依赖表中,这就是为什么dep_Sno> = 1,如果我将dep_Sno 0放在依赖表中那么它将是患者表的数据冗余。

patient_id的所有者的信息将保存在依赖表和患者表中,我只想在患者表中保存信息,但是当在patient_visit表中有0时,它不符合refrential完整性。

1 个答案:

答案 0 :(得分:0)

您应该从Patient_visit表中删除dep_Sno,并使用pat_id和pat_visit作为此表的主键。