sql - 关于 1 :1 relationship 的困惑

标签 sql database-design

我一直在学习数据库设计,但我对 1:1 关系感到困惑。据我了解,您可以简单地将列添加到相应的表中。有人可以提供一个真实世界的例子,说明 1:1 关系是必要的还是提供了一些显着的好处?即,我将在哪里使用 1:1 关系,它会是什么样子?

最佳答案

我给你一个真实的例子。

在医疗账单领域,希望通过医疗保险获得报酬的医生通过为患者的每次访问创建听写报告来处理账单。这实际上可能是由秘书转录的录音录音,但更多时候只是对他们所做的和与患者交谈的内容的书面描述,以及病史、印象等。然后,获得许可的医疗编码员将阅读此听写并决定允许医生开具哪些费用。

除了听写之外,还有有关患者的人口统计信息:姓名、年龄、帐单地址等。这些信息必须与有关听写的信息严格分开,以防止编码人员让偏见蒙蔽他们的帐单判断或违反患者的隐私。

这些数据通常在原始点的数据系统中以 1: 多的关系保持良好规范化,并且只有正确的部分在正确的时间显示给正确的人。然而,大量办公室将其计费功能外包给第三方。例如,这样一来,小诊所就不必在员工中配备有执照的医疗编码员;计费办公室的一名编码员可以处理许多诊所的需求。当数据从诊所发送到计费办公室时,患者人口统计信息和听写需要作为单独的部分,可能在不同的时间出现。此时,它们可能会存储在完全独立的表中,具有 1:1 关系和共享 ID 字段,以便稍后进行匹配。

在这种情况下,1:1 关系与数据模型几乎没有关系。您可能可以在导入时匹配记录,随着账单在系统中移动,最终诊所人口统计记录中收到的省级患者信息将与真实人匹配,因此可以恢复一对多关系。否则,每次去看医生时,您都会在单独的帐户上收到单独的声明。

相反,它几乎与系统设计有关。在我们想象的计费服务中,可能有完全不同的人构建和使用计费部分与编码部分。这样,每一方都可以完全控制自己的领地,并且您可以确定没有人,甚至是开发人员,都不会违反任何隐私规则。

关于sql - 关于 1 :1 relationship 的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5287568/

相关文章:

mysql - 在 MySQL 中使用管道分隔列值中的存在计算最大值

sql - 如何选择最近 7 天的数据

database - Cassandra 高分

mysql - 数据库设计——寻求彻底的改变

数据库约束

mysql - 如何使用ibatis动态查询添加检查条件?

sql - 如何在单个查询中对 child 和 parent 进行分组?

sql - 使用 T-SQL 查询 Active Directory

windows - 在Windows上混淆物理内存

database - DB 中位掩码的替代设计