来自维基百科的ERD:
我很困惑地区分ERD中的“has”和“contains”关系,它们之间的区别是什么?
答案 0 :(得分:1)
关于维基百科的链接图,Has
和Contains
都是一对多的关系(1..n),Character
在关系中的总参与度(双关联线)。总参与度意味着每个Character
必须与Account
和Region
相关。
但是,Has
关系被标记为标识关系(双边菱形),Character
被标记为弱实体集(双边框矩形)。这意味着Character
的标识属性包括Account
的标识属性。 Character
有一个弱密钥CharName
,必须与AcctName
结合才能完全识别Character
。换句话说,Character
表的主键将是复合的:AcctName, CharName
。
请注意,这些注释适用于示例ERD,而不适用于ERD。 Has
和Contains
不是关系的类型 - 通常,关系可以被称为任何关系,并且具有ER理论中可用的特征的任意组合。
另外,请参阅我对Is optionality (mandatory, optional) and participation (total, partial) are same?
的回答