两个实体在关系模型中应该有相同的父实体
Two entities should have same parent entity in relational model
我有简单的模型:人物、照片、一对照片。
“Pair of photos”的一个实例应该与两个“Photo”实例相关联,而这两个“Photo”实例又与同一个“Human”实例相关联。
我尝试使用 ER 模型来实现它。在this情况下,“PhotoPair”可以包含来自不同人的照片,所以它是错误的。
那么,我该如何解决这个问题呢? (不使用触发器)
因为你在PhotoPair中有了PersonID,你可以设置重叠的外键约束:
ALTER TABLE PhotoPair
ADD CONSTRAINT 'photo1_person_fk'
FOREIGN KEY (Photo1, PersonID)
REFERENCES Photo (PhotoID, PersonID),
ADD CONSTRAINT 'photo2_person_fk'
FOREIGN KEY (Photo2, PersonID)
REFERENCES Photo (PhotoID, PersonID);
我有简单的模型:人物、照片、一对照片。
“Pair of photos”的一个实例应该与两个“Photo”实例相关联,而这两个“Photo”实例又与同一个“Human”实例相关联。
我尝试使用 ER 模型来实现它。在this情况下,“PhotoPair”可以包含来自不同人的照片,所以它是错误的。
那么,我该如何解决这个问题呢? (不使用触发器)
因为你在PhotoPair中有了PersonID,你可以设置重叠的外键约束:
ALTER TABLE PhotoPair
ADD CONSTRAINT 'photo1_person_fk'
FOREIGN KEY (Photo1, PersonID)
REFERENCES Photo (PhotoID, PersonID),
ADD CONSTRAINT 'photo2_person_fk'
FOREIGN KEY (Photo2, PersonID)
REFERENCES Photo (PhotoID, PersonID);