考虑以下两个实体集
Employee(ID, name, address)
Dependent(pname, age)
此处,Employee
是一个强大的实体集,ID
是其主键。 Dependent
是弱实体集,pname
是其部分密钥。实体集通过弱关系政策(金额)相关联。
我应该如何处理关系政策?我是否需要一个单独的表来存储关系和金额属性,或者我可以将其包含在Dependent
表
答案 0 :(得分:2)
你提到这是一种三元关系。当三个实体之间存在多对多关系时,就会发生三元关系。在这种情况下,
Many Employee --- Many Dependent Many Employee --- Many Policy Many Policy --- Many Dependent
为了在关系数据库中支持这一点,您需要将其分解为二进制关系。我不确定你是否真的有三元关系,因为你在质疑你是否需要第三张牌桌。如果这种关系是三元关系,你就要处理六张牌桌。三个主要实体和三个交叉表来打破多对多的关系。
如果您的关系如此:
One Employee --- Many Dependent One Employee --- One Policy One Policy --- Many Dependent
然后是的,根据您的业务需求,将策略金额放在从属表中而不是创建第三个表是可以接受的。