ERD中有和包含关系的区别?

时间:2017-06-18 05:57:14

标签: erd

来自维基百科的ERD:

ERD from Wikipedia

我很困惑地区分ERD中的“has”和“contains”关系,它们之间的区别是什么?

1 个答案:

答案 0 :(得分:1)

关于维基百科的链接图,HasContains都是一对多的关系(1..n),Character在关系中的总参与度(双关联线)。总参与度意味着每个Character 必须AccountRegion相关。

但是,Has关系被标记为标识关系(双边菱形),Character被标记为弱实体集(双边框矩形)。这意味着Character的标识属性包括Account的标识属性。 Character有一个弱密钥CharName,必须与AcctName结合才能完全识别Character。换句话说,Character表的主键将是复合的:AcctName, CharName

请注意,这些注释适用于示例ERD,而不适用于ERD。 HasContains不是关系的类型 - 通常,关系可以被称为任何关系,并且具有ER理论中可用的特征的任意组合。

另外,请参阅我对Is optionality (mandatory, optional) and participation (total, partial) are same?

的回答