MySQL 访问控制列表
MySQL Access Control List
我正在尝试实现一个患者可以访问医疗记录的站点。我的问题是临床医生可以在哪里访问记录。因此,如果他们在访问控制列表中,该列表说明哪些医生可以查看患者的记录,那么他们应该只能查看患者的记录。我的问题是临床医生与访问控制列表之间的关系是什么类型?会是多对一、多对多等等吗?此外,我不完全确定外键。
这是我想象中的样子,任何帮助都会很棒。
AccessList
table 表示 Patient
table 中的患者与 Clinician
[=24] 中的临床医生之间的多对多关系=].因此,来自 Clinician
table 的一位临床医生将多次出现在 AccessList
table 中,因为他们可以访问许多患者的记录,即它是一对多的table 之间的关系。来自 Patient
table 的患者可能有多个临床医生,即与 AccessList
table 的一对多关系也是如此。因此 AccessList
table 到 Patient
table 中的 idPatient
和 Clinician
idClinician
中应该有外键 table.
问题:
- 我不明白为什么您的访问列表中同时有患者和医疗记录。 (如果 1:1 患者病历)
- 我不明白你为什么有关于 Clinician 的 accessList 信息。这意味着临床医生只能访问 1 个访问列表?好像不对。
问题:
- 您是否正在尝试设置数据,以便您拥有 ACL 组,您将患者分配给 "group",然后该组的所有临床医生部分都可以访问,因此您不必管理单个患者临床医生协会?如果是这样,我们需要 ACL_GROUP table 并且应该将临床医生分配到一个组;或者您需要 ACL table 中的层次结构。
我可能如何使用最新信息设置数据:
患者
- idPatient (PK)
医疗记录
- idMedicalrecord (PK)
- Patient_idPatient(FK 给患者)
临床医生
- idClinician (PK)
访问列表
- idAccessList (PK)
- AccessListName(组名或患者姓名)
- Patient_idPatient(对患者的 FK)(复合唯一索引 1)
- Clinician_idClinician(转给临床医生)(复合唯一索引 1)
- IdAccessList_Parent(也许... FK 到 AccessList_IDAccessList)用于管理 "security groups")
这允许以下内容:
- 一个病历可以有1:M个病历
- 一份医疗记录关联到 1 位且仅关联到 1 位患者
- 临床医生可以访问患者及其所有病史;但如果有多个,则不是具体的医疗记录。如果您需要限制对某些患者医疗信息的访问,那么与其将 accessList 加入 Patient,不如将其加入 MedicalRecords;从而允许您限制特定的医疗信息;或同时保留两者以允许访问
对整个患者;或特定医疗记录(如果存在多个)。
我正在尝试实现一个患者可以访问医疗记录的站点。我的问题是临床医生可以在哪里访问记录。因此,如果他们在访问控制列表中,该列表说明哪些医生可以查看患者的记录,那么他们应该只能查看患者的记录。我的问题是临床医生与访问控制列表之间的关系是什么类型?会是多对一、多对多等等吗?此外,我不完全确定外键。
这是我想象中的样子,任何帮助都会很棒。
AccessList
table 表示 Patient
table 中的患者与 Clinician
[=24] 中的临床医生之间的多对多关系=].因此,来自 Clinician
table 的一位临床医生将多次出现在 AccessList
table 中,因为他们可以访问许多患者的记录,即它是一对多的table 之间的关系。来自 Patient
table 的患者可能有多个临床医生,即与 AccessList
table 的一对多关系也是如此。因此 AccessList
table 到 Patient
table 中的 idPatient
和 Clinician
idClinician
中应该有外键 table.
问题:
- 我不明白为什么您的访问列表中同时有患者和医疗记录。 (如果 1:1 患者病历)
- 我不明白你为什么有关于 Clinician 的 accessList 信息。这意味着临床医生只能访问 1 个访问列表?好像不对。
问题:
- 您是否正在尝试设置数据,以便您拥有 ACL 组,您将患者分配给 "group",然后该组的所有临床医生部分都可以访问,因此您不必管理单个患者临床医生协会?如果是这样,我们需要 ACL_GROUP table 并且应该将临床医生分配到一个组;或者您需要 ACL table 中的层次结构。
我可能如何使用最新信息设置数据:
患者
- idPatient (PK)
医疗记录
- idMedicalrecord (PK)
- Patient_idPatient(FK 给患者)
临床医生
- idClinician (PK)
访问列表
- idAccessList (PK)
- AccessListName(组名或患者姓名)
- Patient_idPatient(对患者的 FK)(复合唯一索引 1)
- Clinician_idClinician(转给临床医生)(复合唯一索引 1)
- IdAccessList_Parent(也许... FK 到 AccessList_IDAccessList)用于管理 "security groups")
这允许以下内容:
- 一个病历可以有1:M个病历
- 一份医疗记录关联到 1 位且仅关联到 1 位患者
- 临床医生可以访问患者及其所有病史;但如果有多个,则不是具体的医疗记录。如果您需要限制对某些患者医疗信息的访问,那么与其将 accessList 加入 Patient,不如将其加入 MedicalRecords;从而允许您限制特定的医疗信息;或同时保留两者以允许访问 对整个患者;或特定医疗记录(如果存在多个)。