首页 > 解决方案 > SQL ERD 如何关联这两组

问题描述

我有两个表,“患者”和“医生”,其中 idPatient 和 idDoctor 分别是主键。

问题是我想以以下方式关联这两个表:

同时,可能会发生一名患者与任何医生没有关系,同样,一名医生与任何患者没有关系。

如何在 SQL 中声明这个?(我正在使用 PostgreSQL)

标签: sqlerd

解决方案


您需要一个单独的关系表。它可能被定义为:

create table patientDoctors (
     patientDoctorId int generated always as identity,
     patientId int references patients(patientId),
     doctorId int references doctors(doctorId)
);

表中可能还有其他信息,例如:

  • 关系开始的日期。
  • 关系的“来源”。
  • 等等。

推荐阅读