MySQL访问控制列表

时间:2017-10-16 20:25:08

标签: mysql sql database-design diagram class-diagram

我正在尝试实施一个患者可以访问医疗记录的网站。我的问题是临床医生可以访问记录。因此,如果他们在访问控制列表中,他们应该只能查看患者的记录,该列表指出哪些医生可以查看患者的记录。我的问题是临床医生对访问控制列表有什么样的关系;它会是多对一,多对多等等?我也不完全确定外键。

这是我认为它看起来像的形象,任何帮助都会很棒。 enter image description here

2 个答案:

答案 0 :(得分:0)

AccessList表表示Patient表中的患者与Clinician表中的临床医生之间的多对多关系。因此,来自Clinician表的一位临床医生将在AccessList表中多次出现,因为他们可以访问许多患者'记录,即它们是这些表之间的一对多关系。来自Patient表的可能有几个临床医生的患者也是如此,即与AccessList表的一对多关系。因此AccessList表中idPatient表中的外键应该是Patient表中的idClinicianClinician表中的java -cp HelloWorld

答案 1 :(得分:0)

<强>的问题:

  1. 我不明白为什么您在访问列表中同时拥有患者和医疗记录。 (如果1:1患者病历)
  2. 我不知道为什么你有临床医生的访问列表信息。这意味着临床医生只能访问1个访问列表?似乎错了。
  3. 问题:

    • 您是否正在尝试设置数据,以便您拥有ACL组,并将患者分配给&#34;组&#34;然后,该组的所有临床医生都可以访问,因此您不必管理患者临床医师协会?如果是这样,我们需要一个ACL_GROUP表,并且临床医生应该被分配到一个组;或者您需要ACL表中的层次结构。

    我如何使用迄今为止的信息设置数据:

    患者

    • idPatient(PK)

    Medicalrecords

    • idMedicalrecord(PK)
    • Patient_idPatient(FK to patient)

    临床医生

    • idClinician(PK)

    accesslist中

    • idAccessList(PK)
    • AccessListName(组名或患者姓名)
    • Patient_idPatient(FK to patient)(COMPOSITE UNIQUE INDEX1)
    • Clinician_idClinician(Fk to Clinician)(COMPOSITE UNIQUE INDEX1)
    • IdAccessList_Parent(可能...... FK到AccessList_IDAccessList)用于管理&#34;安全组&#34;)

    这允许以下内容:

    1. 患者记录可能有1:M医疗记录
    2. 医疗记录与1名患者相关,只有1名患者
    3. 临床医生可以访问患者及其所有病史;但如果是多个,则不是特定的医疗记如果您需要限制对某些患者医疗信息的访问,则不要让accessList加入患者,而是将其加入MedicalRecords;从而允许您限制特定的医疗信息;或保持两者允许访问 对整个病人;或多个存在的特定医疗记录。