database - 在 E/R 模型中将三元关系转换为二元关系

标签 database entity-relationship

当我在学习E/R模型的数据库讲座时,它说明了如何将三元关系转换为二元关系。一种方法是使用如下弱实体关系(每个关系都是 M:N 基数):

三元关系: ternary relationship

用弱关系转换上层关系

convert the upper relationship with weak relationship

然而,在另一个例子中: ternary relationship

它在讲座幻灯片中指出:“如果每个技术人员可以从事多个项目并且在每个项目上使用相同的笔记本,那么我们可以将三元关系分解为二元关系”,如下所示: enter image description here

我无法理解。我仍然对何时应该使用弱实体方法以及何时可以将其简单地转换为二元关系(如后者)感到困惑。谢谢!

最佳答案

您的第二张图片说明了概念数据模型和物理数据模型之间的混淆,或者 ER 和网络数据模型之间的混淆。前两个图像中模型的物理实现是相同的,不同的是实体和关系的解释。实体关系模型支持三元关系,但不支持单个弱实体集的多重识别关系。我建议您完全忽略第二张图片。

第三张和第四张图片说明了使用 ER 表示法的第四范式分解。这不是你可以对任何三元关系做的事情,而是当 2 或 3 个独立关系被错误地组合成一个时你会做的事情。有关更多信息,我建议您阅读 Fourth Normal Form .

关于database - 在 E/R 模型中将三元关系转换为二元关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46880208/

相关文章:

database - 将 postgres 服务器扩展到多个服务器

mysql - 用于从表中选择的 SQL

php - 在数据库中存储用户全名时有什么更好的做法? 1 列或 2 列?

java - 我可以使用 @MapsId 为使用 JPA 的多个父级共享一对一实体吗

java - JPA - 实体设计问题

mysql - 如何在mysql EAV模型中实现数据过滤

mysql - 表被标记为崩溃,应该修复

database - 风险管理 : Key attribute for relation

mysql - 数据库结构/设计

java - 更新后JPA OneToMany问题