数据库1-1、1-n 、n-n关系实际场景
数据库1-1、1-n 、n-n关系实际场景
每种关系类型的 3 个不同场景案例:
1 对 1 关系(One-to-One)
- 用户与个人资料:
- 场景:每个用户有唯一的个人资料,每个个人资料只对应一个用户。
- 例子:
User
和Profile
,每个User
实体对应一个Profile
实体。
- 员工与工作证:
- 场景:每个员工都有唯一的工作证,每个工作证只分配给一个员工。
- 例子:
Employee
和IDCard
,每个Employee
实体对应一个IDCard
实体。
- 国家与国旗:
- 场景:每个国家有唯一的国旗,每面国旗只属于一个国家。
- 例子:
Country
和Flag
,每个Country
实体对应一个Flag
实体。
1 对多 关系(One-to-Many)
- 一个班级与多个学生:
- 场景:一个班级可以有多个学生,每个学生只属于一个班级。
- 例子:
Class
和Student
,一个Class
实体可以关联多个Student
实体。
- 一个部门与多个员工:
- 场景:一个部门可以有多个员工,每个员工只属于一个部门。
- 例子:
Department
和Employee
,一个Department
实体可以关联多个Employee
实体。
- 一个公司与多个项目:
- 场景:一个公司可以有多个项目,每个项目只属于一个公司。
- 例子:
Company
和Project
,一个Company
实体可以关联多个Project
实体。
多对多 关系(Many-to-Many)
- 学生与课程:
- 场景:一个学生可以选修多个课程,一个课程也可以有多个学生选修。
- 例子:
Student
和Course
,一个Student
实体可以关联多个Course
实体,反之亦然。
- 书籍与作者:
- 场景:一本书可以由多个作者编写,一个作者可以编写多本书。
- 例子:
Book
和Author
,一本Book
实体可以关联多个Author
实体,反之亦然。
- 电影与演员:
- 场景:一部电影可以有多个演员参与,一个演员可以出演多部电影。
- 例子:
Movie
和Actor
,一个Movie
实体可以关联多个Actor
实体,反之亦然。