sql - SQL ERD 如何关联这两组
问题描述
我有两个表,“患者”和“医生”,其中 idPatient 和 idDoctor 分别是主键。
问题是我想以以下方式关联这两个表:
- 一名患者可以有不止一名医生。
- 一位医生可以有不止一位患者。
同时,可能会发生一名患者与任何医生没有关系,同样,一名医生与任何患者没有关系。
如何在 SQL 中声明这个?(我正在使用 PostgreSQL)
解决方案
您需要一个单独的关系表。它可能被定义为:
create table patientDoctors (
patientDoctorId int generated always as identity,
patientId int references patients(patientId),
doctorId int references doctors(doctorId)
);
表中可能还有其他信息,例如:
- 关系开始的日期。
- 关系的“来源”。
- 等等。
推荐阅读
- javascript - 如何从表单输入动态生成代码?
- spring-boot - 调用 findAll(pageable) 时未找到类型 [Type] 的属性 [propertyName]
- movilizer - 如何循环动态生成的答案键?
- mysql - 如果第三列为真,则确保两列的唯一性
- python - 建立平衡的团队
- r - 未列出时,包含向量列表的数据框如何具有不同的长度?
- d3.js - d3js中矩形的大小基于值的总和而不是项目的数量
- ios - Flutter DataStream 未正确关闭和重新构建。[不良状态:Stream 已经被收听。]
- json - 在 Perl 中解析 JSON 数据
- asp.net - 为什么我的 gridview 没有进入编辑模式?