我正在阅读Silberschatz和Sudarshan的数据库系统概念6e,并学习实体-关系模型中的关系。
关于基数的一章有以下数字,并附有相应的解释:

例如,请看图7.10。导师和学生之间的关系约束为1..1,这意味着最小基数和最大基数都是1。,即每个学生都必须有一个顾问。顾问和指导员之间的界限0.∗表示指导员可以有零或更多的学生。因此,关系导师是一对多的,而且学生对导师的参与是完全的,这意味着一个学生必须有一个导师。
令人困惑的部分用粗体表示。根据我读过的另一本书( Connolly和Begg的数据库系统),上面的内容将被解读为:
“老师建议一名学生。每个学生可以有零个或更多的顾问。”
下面是康诺利( Connolly )书中的一个图表示例,以说明我的观点:

读取第一个图表的正确方法是什么?
发布于 2019-09-02 15:25:23
我想出来了!微妙的区别在于使用名词来表示关系,而使用动词来表示关系。两本书都是对的。第一本书使用名词(顾问);第二本书使用动词。
对于参与“导师”关系的教师和学生来说,说一位指导员在0到多次之间都参与这种关系是有意义的。然而,学生只能参加一次这种关系(假设一个学生不能有一个以上的导师)。因此,这是一对多的关系。
当我们以这种方式使用名词时,保持(min,max)表示法最接近其适用的实体是有意义的。
但这可以用动词“建议”来表示,即指导员建议一名或多名学生,但学生最多由一名导师建议。在这个由动词定义的单向关系中,把老师的参与放在学生的附近更有意义(可以说,在关系中的实体是“垂直的”)。
https://stackoverflow.com/questions/57716079
复制相似问题