首页 百科知识 实体之间的关系

实体之间的关系

时间:2022-10-03 百科知识 版权反馈
【摘要】:例4: 一个班长只能负责一个班级, 而一个班级只能指向一个班长, 则班长与班级之间具有一对一关系, 如图2.13所示。只有当一个相关列是一个主键或具有唯一约束时,才能创建一对多关系。这两个实体之间的关系, 是一个典型的多对多关系: 一本图书在不同时间可以被多个读者借阅, 一个读者又可以借多本图书, 如图2.15所示。例8: 在例7的基础上, 添加班级、 专业和教师实体表, 表示出更多的关系。

1. 一对一关系 (1∶1)

在一对一关系中, A表中的一行最多只能匹配B表中的一行, 反之亦然。 如果相关列都是主键或都具有唯一约束, 则可以创建一对一关系。

例4: 一个班长只能负责一个班级, 而一个班级只能指向一个班长, 则班长与班级之间具有一对一关系, 如图2.13所示。

图2.13 一对一关系E-R图

2. 一对多关系 (1∶N)

一对多关系中,A表中的一行可以匹配B表中的多行,但是B表中的一行只能匹配A表中的一行。例如,student表和score表之间具有一对多关系: 每个学生有多个成绩,但一个成绩只能出自一个学生。只有当一个相关列是一个主键或具有唯一约束时,才能创建一对多关系。

例5: 一个班级中有若干名学生, 而每个学生只在一个班级中学习, 则班级与学生之间具有一对多关系, 如图2.14所示。

图2.14 一对多关系E-R图

3. 多对多关系 (M∶N)

在多对多关系中, A表中的一行可以匹配B表中的多行, 反之亦然。 要创建这种关系,需要定义第三个表, 称为结合表, 它的主键由A表和B表的外部键组成。

例6: 设计一个图书馆借阅数据库, 在 “图书馆信息系统” 中, “图书” 是一个实体,“读者” 也是一个实体。 这两个实体之间的关系, 是一个典型的多对多关系: 一本图书在不同时间可以被多个读者借阅, 一个读者又可以借多本图书, 如图2.15所示。

一门课程同时有若干个学生选修, 而一个学生可以同时选修多门课程, 则课程与学生之间具有多对多关系。

例7: 简单的学生数据库有学生表、 课程表2个实体, 学生成绩表作为一个关系表, 学生表和课程表通过成绩表建立关系, 即: 通过学生表与课程表是多对多关系, 一个学生可选多门课程, 一门课程可以被多个学生选择; 学生表的学号与成绩表的学号建立一对多关系,课程表的课程号与成绩表的课程号建立一对多关系, 形成的关系图如图2.16所示。

图2.15 图书数据库表E-R图

图2.16 学生与课程E-R图

例8: 在例7的基础上, 添加班级、 专业和教师实体表, 表示出更多的关系。 一个班级有多个学生, 通过班级的班级编号与学生的班级编号建立一对多关系。 一个专业需要开设多门课程, 通过专业代号与课程建立一对多关系; 一个教师可以讲授多门课程, 通过教师编号和课程建立一对多关系, 其完整的关系图如图2.17所示。

图2.17 学生数据库表E-R图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈