1

我无法理解为什么以下从 ER 图到 ERM 的映射是正确的,或者更准确地说是完整的。在给定的示例中,我们在项目、地点和人员之间存在三元 1:1:N 关系。

三元关系的 ER 图示例

每个实体都有一个主键(ProjectID、PlaceID、PersonID)。如果我理解此图正确,则一个人和一个项目的组合不能与多个地方相关联。此外,一个人和一个地方的组合只能与一个项目相关联。此外,特定地点的项目可以有多个人。

这种对如何解读三元关系的理解导致了我的问题。我将 ERM 映射到以下 RM:

项目(项目ID)
地点(地点 ID)
人(PersonID)
作品(ProjectID、PersonID、PlaceID)

我现在在Works表中有两个候选键:(Place,PersonID)和(ProjectID,PersonID)。让我们选择第一个作为主键。然后我应该有一个正确的 RM(文献告诉我),但我没有得到的是如何确保人员和项目的相同组合不与不同的地方相关联?难道我不必在某处说 (ProjectID, PersonID) 也是候选键,或者这不是 RM 符号的一部分吗?

ProjectID    PersonID    PlaceID
1 马文纽约
1 汤姆·帕里斯
1 马文东京
4

1 回答 1

1

一个人与一个项目的结合不能与多个地方相关联。此外,一个人和一个地方的组合只能与一个项目相关联。

仔细阅读本文,您可以进一步说明每个人都必须与一个项目和一个地方相关联。由于这些是关系中唯一的其他实体,因此您可以安全地将 Person(更具体地说是 PersonID)作为此关系的主键。

(Place, PersonID) 和 (ProjectID, PersonID) 都是关系的有效(非主)键。您错误地假设您提供的示例条目是正确的。查看您的关系,每个 personID 以及每个 (Place, PersonID) 或 (ProjectID, PersonID) 对都应该在表中只出现一次。因此,示例表与给定 ER 图的规则不匹配。

于 2015-08-12T18:32:40.483 回答