亲子关系的数据库架构

时间:2019-06-07 01:18:35

标签: asp.net sql-server

我需要为儿科数据库开发一个数据库架构,该数据库架构允许以下操作:

  1. 存储每个患者的姓,名,出生日期和性别。

  2. 存储所有适用的监护人,包括母亲,父亲,法定监护人及其与患者(孩子)的关系。

  3. 标识患者兄弟姐妹及其与患者的关系。

4,允许患者逐渐成为监护人/父母。

  1. 存储与每个人(包括患者和父母/监护人)相关的电话号码。

我真的锁定解决此问题的最佳方法。我正在考虑三个表,即tblPatients,tblGuardians和tblTelephones,但是我认为对于有多个孩子的父母,这将需要多个条目。我确信这个问题过去已经解决了,但是我没有找到合适的答案。任何见识将不胜感激。

2 个答案:

答案 0 :(得分:3)

  
      
  1. 允许患者逐渐成为监护人/父母。
  2.   

这是关键。如果患者以后可以成为监护人/父母,则应该为“人”创建一张表,以描述任何类型的人,然后将该人与其他表进行分类。

例如

  • PERSON表定义了受众特征(姓,名,日期) 出生,性别,电话号码等)
  • PATIENT表使用FK定义患者数据,并指向 特定的人,可以选择在其上具有唯一性约束 PATIENT.PERSONID确保没有两个患者相同 人。该表中存在记录表示PERSONPATIENT
  • RELATIONSHIP表将两个PERSON记录链接在一起并定义一个关系。例如Person1IDPerson2IDRelationshipType

答案 1 :(得分:0)

这是我解决问题的方法。

tbl_person,列:

  • id

  • 名字

  • 姓氏

  • 出生日期

  • 性别

  • 联系信息

  • 其他个人信息

tbl_patient,列:

  • id

  • tbl_person_id

  • “与患者相关的其他列,例如原因,症状,诊断等”

tbl_patient_has_guardian(一对多),列:

  • tbl_patient_id(主键)

  • tbl_person_id(主键)

  • Patient_relationship_to_guardian_type

    • 母亲,父亲等

因此,在添加新的患者记录时,请将个人信息添加到tbl_person,然后将tbl_person ID引用到tbl_ Patient。

tbl_patient_has_guardian,一位患者可以有多个监护人。监护人具有分配给患者的特定关系类型,可以是母亲,父亲等。