0

在 ER 图中,我将如何建模两个多对多关系

 FACILITY
 Facility_ID
 Name
 etc

 PHYSICIAN
 Physician_Id
 Name
 etc

 PATIENT
 Patient_Id
 Name
 etc

M:N - 一个设施可以配备许多医生,一个医生可以受雇于许多设施 MN - 一个患者可以由多个医生治疗,一个医生可以治疗多个患者'

4

2 回答 2

3

这是一个常见的关系设计问题。为了解决这个问题,您创建所谓的联结表或关联实体。

以下是一些有用的解释和示例,可以帮助您与您的相关:

http://en.wikipedia.org/wiki/Associative_Entities

http://en.wikipedia.org/wiki/Junction_table

在您的情况下,您可能会:

 Facilty_Physican
 ----------------
 Facility_ID
 Physician_Id

 Physican_Patient
 ----------------
 Physician_Id
 Patient_Id

您可能还会发现,有时在数据模型优化中并且根据关系的平衡,一些非规范化联结表。

于 2012-08-01T01:40:39.973 回答
1

多对多关系的建模是通过在两个相关表之间制作一个表来完成的,从而将tit分成两个一对多关系。因此:一个 Facility_Physician 表,它有两列都是外键。第一个 FK 引用 Facility_ID,第二列引用 Physician_Id。Patient_Physician 表也是如此。

于 2012-08-01T01:36:04.657 回答