实体框架 - 数据库设置
在本教程中,我们将使用一个简单的大学数据库。大学数据库整体上可能要复杂得多,但出于演示和学习目的,我们使用这种数据库的最简单形式。下图包含三个表。
- Student(学生)
- Course(课程)
- Enrollment(注册)
每当使用数据库一词时,我们就会直接想到一件事,那就是具有某种关系的不同类型的表。表之间的关系有三种类型,不同表之间的关系取决于相关列的定义方式。
- 一对多关系
- 多对多关系
- 一对一关系
一对多关系
一对多关系是最常见的关系类型。在这种关系中,表 A 中的一行可以在表 B 中有多行匹配,但表 B 中的一行只能在表 A 中有一个匹配的行。例如,在上图中,Student 和 Enrollment 表具有一对多关系,每个学生可能有许多注册,但每个注册只属于一个学生。
多对多关系
在多对多关系中,表 A 中的一行可以在表 B 中有多行匹配,反之亦然。您可以通过定义第三个表(称为连接表)来创建这种关系,该表的主键由表 A 和表 B 的外键组成。例如,Student 表和 Course 表具有多对多关系,该关系由从这些表中的每一个到 Enrollment 表的一对多关系定义。
一对一关系
在一对一关系中,表 A 中的一行在表 B 中最多只能有一行匹配,反之亦然。如果两个相关列都是主键或具有唯一约束,则创建一对一关系。
这种类型的关系并不常见,因为以这种方式关联的大多数信息都是一个表。您可以使用一对一关系来减去
- 用许多列划分表格。
- 出于安全原因隔离表格的一部分。
- 存储短暂的数据,只需删除表格即可轻松删除这些数据。
- 存储仅适用于主表格子集的信息。