只是在一些关于这种数据库设计情况的建议之后。
所以我在数据库中有两个表。
表1:患者表2:索赔人
Patients保存私人患者的属性数据,因此可以详细了解此人、他/她的生日、姓名、医疗条件等。索赔人是代表患者支付费用的实体,因此索赔人可以是患者本人、另一个人、企业(支付工伤费用)、私人医疗保健提供者、政府机构等。
患者和索赔人的ID是其他表中的外键,如发票、收据等。
一个患者可以有多个索赔人(多个实体可以代表他付款),每个索赔人可以有多个病人。
在进一步的调查中,我发现患者和索赔人的许多属性是重叠的,因为患者可以支付自己的费用,因此是私人索赔人。
我的想法是将这两个表合并为一个,并简单地将其命名为accounts,并使用claimantType字段来标识帐户的类型,无论是私人帐户、医疗保健帐户、企业帐户还是政府帐户。
对于此更改,我需要牢记哪些潜在的实际缺点?除了更改数据库中的其他链接表之外?
编辑:为了清楚起见,已经有了一个连接表PatientClaimants,它基本上只是将患者映射到索赔人。谢谢!
发布于 2010-11-29 06:44:22
您可以(a)放入一个交叉表,将患者if与索赔if联系起来,或者(b)如您所讨论的,将它们合并在一起-但如果您已经有了数据,这可能会有问题。
您还可以设置一个人口统计表,显示患者和索赔人之间的公共数据,并引用简化的患者/索赔人表-这样就不会破坏现有结构。
发布于 2010-11-29 06:47:05
合并这两个表我相信是错误的。
病人永远都是人类。因此,它不能是一家企业或一个组织。
我相信你已经做到了:
Address
=======
......
Person
=======
AddressId (FK)
BusinessEntity
==============
AddressId (FK)
Patient
=======
PersonId (FK)
Claimant
========
PersonId (FK)
BusinessEntityId (FK)在这里,PersonId或BusinessId其中之一可以为null。
https://stackoverflow.com/questions/4299539
复制相似问题