【发布时间】:2021-09-03 08:57:38
【问题描述】:
我有两个表,“患者”和“医生”,其中 idPatient 和 idDoctor 分别是主键。
问题是我想以这样的方式关联这两个表:
- 一个病人可以有多个医生。
- 一个医生可以有多个病人。
同时,可能会发生一名患者与任何医生没有关系,同样,一名医生与任何患者没有关系。
如何在 SQL 中声明这个? (我使用的是 PostgreSQL)
【问题讨论】:
-
听起来有点像家庭作业问题......你有一个多对多关系(m:n)所以搜索如何建模这些
-
实现一个DoctorPatientRelationships 表,它有一个idDoctor 和一个idPatient 字段。此功能也可以由同时具有两个键的咨询表支持。
-
我已经这样做了,以实现医患关系表。问题是有很多其他表具有这种关系,所以我需要创建很多辅助表,我不知道这是否是最佳实践,这就是为什么我要求一种在 SQL 中声明它的方法一种更好的实践方式。