0

我有实体 EMPLOYEE、ADDRESS 和 STUDIES,如下图所示。一名员工可以拥有多个地址,并且可以在多个大学学习。

为什么下面的关系(Has_address 和graded)越来越多? 他们不应该是一对多吗?(例如,因为一个地址只属于一名员工)?

在此处输入图像描述

4

1 回答 1

1

其他员工可能住在同一个地址(在相同或不同的时间;已婚夫妇经常共用一个地址)。

此外,可能不止一名员工曾就读于同一所大学,而且您不一定要为每位就读该校的员工复制该大学的数据。

这取决于你想要你的结构 - 你可以说有一个对象“地址”,它实际上是员工的“财产”,所以它是 1:n(只允许员工移动)。或者您认为地址是它们自己的对象(位置独立于您的员工而存在),而“地址”是员工与位置之间的关系;那么它将是n:m。

核心点是是否要将位置作为单独的对象处理。既不是对也不是错,这是您必须对模型的限制做出的设计决定。

于 2016-08-16T10:31:47.223 回答