Ms access MS Access数据库设计-跟踪患者转诊

Ms access MS Access数据库设计-跟踪患者转诊,ms-access,database-design,schema,normalization,Ms Access,Database Design,Schema,Normalization,我正在建立一个Access数据库,其中包括跟踪谁将患者转诊到我们办公室(我在一家从事专业治疗的验光师办公室工作) 我没有太多创建关系数据库的经验,我想知道我的方向是否正确。在这里发帖之前,我已经向我的5位电脑程序员朋友寻求帮助,但突然间每个人都很忙。。。这就来了 1名患者可以有许多转诊 我儿子的老师和同事介绍我来这里(2) (来源) 我的医生告诉我你的情况,然后我看到了你的网站(2) (来源) 1转介可包括: 个人(布拉·布拉博士,或我的朋友简·多伊) 组织(医生团体) 作为组织一部分的个

我正在建立一个Access数据库,其中包括跟踪谁将患者转诊到我们办公室(我在一家从事专业治疗的验光师办公室工作)

我没有太多创建关系数据库的经验,我想知道我的方向是否正确。在这里发帖之前,我已经向我的5位电脑程序员朋友寻求帮助,但突然间每个人都很忙。。。这就来了

1名患者可以有许多转诊

  • 我儿子的老师和同事介绍我来这里(2) (来源)
  • 我的医生告诉我你的情况,然后我看到了你的网站(2) (来源)
1转介可包括:

  • 个人(布拉·布拉博士,或我的朋友简·多伊)
  • 组织(医生团体)
  • 作为组织一部分的个人(来自医生的某某医生) (组)
  • 媒体来源(网站、小册子、商业、电视节目等)
通常不可能确定组织中的哪个人推荐了患者(因为患者不记得),因此只记录组织。但有时这是可能的,因此个人和组织都会被记录下来。有时个人不是任何组织的一部分

这是我提出的局部设计:

  • 病人表
  • 参考媒体表
    • 存储媒体源的详细信息
  • 参考组织表
    • 存储组织的名称/详细信息
  • 参考个人表
    • 存储个人的姓名/详细信息
    • 如果个人是组织的成员,则使用Ref Org ID作为外键
  • 推荐表
    • 使用患者ID作为外键将转诊链接到患者
我应该如何将推荐表链接到Ref Org、Ref Indv和Ref Media表

我想出了这样的办法:

但这似乎是多余的,并且根据转诊的类型留下了很多空白:


我该怎么办?在这些表之间建立关系的好方法是什么?

甚至不用思考或参与,如果你看到这样的空间,看起来你需要一个带有引用类型的表

我在一堵墙后面,墙挡住了postmg,所以我看不到你的附件。听起来你的桌子很有意义。你的基本问题是多态性行为,因为你有各种各样的东西作为推荐人,但又有其他的品质。如果您真的需要所有这些细节,那么最简单的方法可能确实是一个带有多个id字段的referrals表,其中只有一个或两个id字段需要填写——然后您可能会进行查询以整合异构数据。真正有意义的是取决于你还需要这些数据做什么。