是否有可能在复合主键中,对于不同的值,外键引用不同的表。我在下面描述。
患者表的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完整性。
答案 0 :(得分:0)
您应该从Patient_visit表中删除dep_Sno,并使用pat_id和pat_visit作为此表的主键。