多对多
在选课系统中,有学生和课程两个实体,一个学生可以选修多门课程,一门课程也可以有多个学生选修,这就构成了多对多的关系。在关系数据库中,为了表示学生和课程之间的多对多关系,通常会使用一个中间表,比如选课表。这个表可以记录每个学生选择了哪些课程,每门课程被哪些学生选修。这样的设计可以很好地表示学生和课程之间的多对多关系。
ER 关系如下

字段配置

参数说明
Source collection
源表,也就是当前字段所在表。
Target collection
目标表,与哪个表关联。
Through collection
中间表,当两个实体之间存在多对多的关系时,需要使用中间表来存储这种关系。中间表有两个外键,用于保存两个实体之间的关联。
Source key
外键约束引用的字段,必须具备唯一性。
Foreign key 1
中间表的字段,用于建立与源表之间的关联。
Foreign key 2
中间表的字段,用于建立与目标表之间的关联。
Target key
外键约束引用的字段,必须具备唯一性。
ON DELETE
ON DELETE 是指在删除父表中的记录时对相关子表中的外键引用的操作规则,它是用于定义外键约束时的一个选项。常见的 ON DELETE 选项包括:
- CASCADE:当删除父表中的记录时,自动删除子表中与之关联的所有记录。
- SET NULL:当删除父表中的记录时,将子表中与之关联的外键值设为 NULL。
- RESTRICT:默认选项,当试图删除父表中的记录时,如果存在与之关联的子表记录,则拒绝删除父表记录。
- NO ACTION:与 RESTRICT 类似,如果存在与之关联的 子表记录,则拒绝删除父表记录。

