📅  最后修改于: 2020-11-21 07:13:43             🧑  作者: Mango
在本教程中,我们将使用一个简单的大学数据库。大学数据库整体上可能要复杂得多,但出于演示和学习目的,我们使用的是该数据库的最简单形式。下图包含三个表。
每当使用术语数据库时,我们都会直接想到一件事,那就是具有某种关系的另一种表。表之间存在三种类型的关系,不同表之间的关系取决于相关列的定义方式。
一对多关系是最常见的关系类型。在这种关系中,表A中的一行可以在表B中具有许多匹配的行,但是表B中的一行在表A中只能具有一个匹配的行。例如,在上图中,Student and Enrollment表有一个一对多关系中,每个学生可能有很多入学人数,但每个入学人数仅属于一个学生。
在多对多关系中,表A中的行可以在表B中具有许多匹配行,反之亦然。您可以通过定义第三个表(称为联结表)来创建这种关系,该表的主键由表A和表B的外键组成。例如,Student和Course表之间的关系是由这些表中的每一个与“注册”表之间的一对多关系。
在一对一关系中,表A中的一行最多只能有一个匹配表B,反之亦然。如果两个相关列都是主键或具有唯一约束,则将创建一对一关系。
这种类型的关系并不常见,因为以这种方式相关的大多数信息都是多合一表。您可能使用一对一关系-