一对一 (One-to-One):
在这种关系中,一个表的一个记录只对应另一个表的一个唯一记录。
实现方式:可以在任意一方表设置主键作为另一方表的唯一外键(通常选择需要独立存在的那一方),或者创建两个表各自拥有自己的主键,并通过一个关联表来实现一对一的逻辑关联。
示例:一个人只有一个唯一的护照,而一个护照也仅属于一个人。
一对多 (One-to-Many):
在此关系中,一个表(父表)的一条记录可以对应另一个表(子表)的多条记录,但子表的一条记录只能对应父表的一条记录。
实现方式:在子表中添加一个外键字段,该字段引用父表的主键。
示例:一个部门可以有多个员工,但每个员工只属于一个部门。
多对多 (Many-to-Many):
在这种关系中,一个表的一条记录可以对应另一个表的多条记录,同时,另一个表的一条记录也可以对应这个表的多条记录。
实现方式:需要创建一个中间关联表(junction table或association table),这个关联表包含两个外键,分别引用双方表的主键。
示例:学生选课系统中,一个学生可以选择多个课程,同时一个课程也可以被多个学生选择。为此,需要创建一个“学生课程”表,其中包含学生ID和课程ID两个字段,分别代表了学生和课程表的主键。
关联关系概述
于 2024-03-21 20:50:53 首次发布