首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在本文描述的场景中,哪种基数适用?

在本文描述的场景中,哪种基数适用?
EN

Stack Overflow用户
提问于 2016-04-05 05:52:06
回答 1查看 308关注 0票数 0

我正在尝试理解Crow的数据库设计(ER图)的脚符号。我想为一个学生(实体/表)可以注册多个课程( COURSES_ENROLLED表/实体)的场景创建一个ER图。

我已经创建了下面的ER图。

现在,对于适用于哪个“连接器符号”的场景,标记为(1)或(2)的?任何解释都会有很大帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-06 12:20:32

我假设您也有一个实体COURSE (因为courseId作为COURSES_ENROLLED中的外键)。所以COURSES_ENROLLED把一个学生和那个学生注册的一门课程联系在一起,对吗?

这是由图中的备选方案(1)表示的。每个COURSES_ENROLLED实例只看到一个学生实例,而每个学生则可以看到许多相反的实例。

如果您没有中间实体并直接将STUDENT链接到COURSE,那么您的备选方案(2)将是合适的。在这两者之间,多重性是m:n,所以两端都有一只乌鸦的脚。但是courseId将是正确实体的主键,它应该被称为COURSE

顺便说一句,检查你的约束在(1)和(2)中,学生必须至少上一门课程,是否符合你的功能要求。很可能,每个学生都会在某个时间点至少注册一门课程,但是如果你把这作为数据模型中的一个约束,它将需要一直保持下去。因此,你现在的模式不允许仅仅创造一个学生,而不把她与至少一门课程同时联系起来。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36418133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档