在制作表格时,我遇到了两件事。我们在
Patient
和 Employee
中都有 2 个名为“ID”的主键。它们都是实体Doctor
的外键。我如何将其放入 Doctor
表中,我不能有 2 个同名“ID”列引用不同的表?
第二件事是 Employee 也与其自身相关,所以我应该如何考虑这个问题?
当然,受约束列的数量和类型需要与引用列的数量和类型相匹配。也就是说,我不喜欢使用通用名称“id”作为代理 PK 列的广泛传播的反模式。使其更具描述性,例如
patient_id
代表表格
patient
。那么 FK 列大部分可以共享相同的名称,使一切更清晰,并且对多个连接表的查询更简单。此外,
doctor
和
patient
之间存在多对多关系,通常实现为单独关系。像
doctor_patient
之类的东西。 FK 列将添加到该表中。参见:关于你的第二个问题,同一个表可以是相同 FK 约束的源
和目标,甚至是相同的列(对于分层结构),没有问题。