关系与多重性

时间:2016-04-22 14:15:50

标签: database-design uml relationship

我一直在寻找各处,但我找不到表关系和多重性之间的区别。

看到两者都可以是一对多,多对一等等,主要区别是什么? 到目前为止我注意到的唯一区别是多重性以1 .. *格式描述,或者我错了吗?

如果我们有一个表用户和用户可以拥有多个博客,那么这里的关系是什么,多重性是什么?

1 个答案:

答案 0 :(得分:6)

这两个符号是相关的,但不相同。

1..*0..*等代表关系的一端的多样性。一对多实际上描述了关系两端的多重性;即"一对多"表示1..1(或可能0..1)在一端,1..*(或可能是0..*)在另一端。

正如您所看到的,多重符号允许您表达可选与强制关系......其中"一对多"没有覆盖。

  

如果我们有一个表用户和用户可以拥有多个博客,那么这里的关系是什么,多重性是什么?

这将被描述为一对多,但在UML中你会表达这样的关系:

                BlogAuthorship

   -------- 1..1              0..* --------
   | User | <--------------------> | Blog |
   --------                        --------

也是这样说的:

  • 博客必须只有一个用户作为作者,
  • 用户不一定需要成为任何博客的作者。