【发布时间】:2021-04-26 17:02:02
【问题描述】:
项目---技能---员工
一个项目需要很多技能。 许多项目都需要一项技能。
一名员工可以拥有多种技能。 许多员工都可以“拥有”一项技能。
这些信息是否足以推断出哪些员工参与了哪些项目?还是应该在项目和员工之间建立另一种关系?
像这样: 一个项目可以有很多员工。 一名员工可以参与许多项目。
所以它基本上会变成这三个实体的三角形,中间有弱实体?还是有更好的解决方案?
【问题讨论】:
-
我会在项目和员工之间添加另一个关系。仅仅因为员工具有必要的技能并不意味着她/他是项目的一部分。毕竟,一个员工可以从事多少个项目是有一个自然上限的。
-
这取决于您要建模的内容,但项目与员工的关系是主要关系。项目到技能和员工到技能是次要的多对多关系。
-
可以为员工、技能和项目定义三元关系。但我不知道这种关系在主题中意味着什么。你想建模什么?
标签: postgresql database-design erd