gpt4 book ai didi

database-design - 了解基数它 ERD 模型

转载 作者:行者123 更新时间:2023-12-04 23:52:35 37 4
gpt4 key购买 nike

我在理解基数方面遇到了很大的麻烦。

假设有医生和他可以只对一名患者进行心脏手术。肯定有很多医生和很多病人,但模型应该是这样的吗?

PACIENT-|----------|- DOCTOR   meaning 1:1?

难道不需要反射(reflect)医生多,病人多吗?或者这描述了两个实际实例之间的关系?

另一个例子:
医院进行一项实验,可以让许多患者进行药物试验。每个试验只测试一种药物,并且没有一个患者可以出现在多个试验中。
TRIAL |- ------<-PATIENT (多对一 - 允许更多患者参加试验)
PATIENT|------|-DRUG (如果一名患者只能服用一种药物,则为 1:1)?

但是如何表明同一患者不能出现在任何其他试验中?或者它是否隐含在 Trial 和 Patient 之间的关系中,其中 Trial 一侧有 1?

最佳答案

就实际实体表示而言,它的工作方式如下:

  • 如果您有 1 对 1 关系,那么只有一个实体会
    有一个对应的表,其他的会包含在
    相应的记录。
    示例 : 1 名患者只有 1 张病床,并且
    1 张病床只能有 1 名患者。在这种情况下,医院
    床位应由一列(床位号)或一组
    患者表中的列。
  • 如果您有 一对多关系,然后你创建一个外国
    第一个(1)实体之间的关键关系(这将是
    主键实体)和第二(M)实体。
    示例 : 1 名患者只能服用 1 种药物,但许多患者可以服用 1 种药物。在这种情况下,DrugId 将是Patients 表中的外键。
  • 最后,在 的情况下多对多 关系,典型
    技术是创建一个 关联表其中将包含
    两个外键,一个来自每个实体,可能还有其他一些
    列。
    示例 : 1位医生可以在多家医院和1家医院工作
    雇用了许多医生。因此,我们应该有一个关联表,
    说 MedicalJobs,它将有外键 HospitalId 和 DoctorId
    或许还有薪水、JobId 等。

  • 关于您的 Trial - Patient 问题,如果一个 Trial 有很多患者,但一个患者只能参加一个 Trial,那么它是一个 1 对多 Trial-Patients 关系,因此,您只需要 Patients 表中的外键 TrialId 即可。

    我希望这能清除它。如果你需要额外的解释,请在这篇文章中发表评论。

    关于database-design - 了解基数它 ERD 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20566077/

    37 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com