database - 0..1 到 * 关联的基数是多少
问题描述
假设我有一个 UML 图,其中有 2 个实体通过关联线相互关联。
-------- --------
| E1 |- 0..1 -------- * --| E2 |
-------- --------
我知道有 4 种映射基数。他们是:
- 一对一
- 多对一
- 一对多
- 多对多
在这里,E1 不能是一对多的,因为我知道 E1 必须是一对多的。
但它可以是多对多的吗?因为它在E1的一侧似乎没有“很多”。
解决方案
好的,我认为有一些误解导致您出现这种情况。
您的问题的答案可能会因您使用的模型或图表而异,UML 图在它们之间有很大差异
您将 RDB 映射基数与 UML 多重性混淆了。有类似的,但不一样的。
UML 中有超过 4 个(不仅仅是你提到的那些),你可以有 2..4(不太可能,但可能)或任何你想要的。
- 多重性对关系有两种作用,你似乎知道。也通常表示为
*..*
而不是*
- 始终将重点放在 UML 的目的上始终很重要,即建模。所以把你认为最能反映现实的东西放在那个图表的目的上。
希望能帮助到你
推荐阅读
- dart - Flutter多行文本字段如何使文本在中间加粗
- c# - .NET MVC 中的 ActionResult 方法被加载两次
- python - 在 Python 中编译运行时生成的 C 代码
- android - 将edittext与kotlin中的列表视图进行比较
- c - sizeof() 运算符的输出数据类型
- c# - 比较列表c#中两个元素的属性
- javascript - 在使用 puppeteer 进行脚本评估之前注入 HTML
- java - 如何用罗马 RSS 阅读项目标签?
- git - `git checkout -m` 是否与 `git stash push`、`git checkout` 和 `git stash pop` 的直接序列相同?
- python - 我的项目文件夹同时也是 Django 中的应用程序是一种不好的做法吗?