实体框架 - 数据库设置

在本教程中,我们将使用一个简单的大学数据库。大学数据库整体上可能要复杂得多,但出于演示和学习目的,我们使用这种数据库的最简单形式。下图包含三个表。

  • Student(学生)
  • Course(课程)
  • Enrollment(注册)
数据库

每当使用数据库一词时,我们就会直接想到一件事,那就是具有某种关系的不同类型的表。表之间的关系有三种类型,不同表之间的关系取决于相关列的定义方式。

  • 一对多关系
  • 多对多关系
  • 一对一关系

一对多关系

一对多关系是最常见的关系类型。在这种关系中,表 A 中的一行可以在表 B 中有多行匹配,但表 B 中的一行只能在表 A 中有一个匹配的行。例如,在上图中,Student 和 Enrollment 表具有一对多关系,每个学生可能有许多注册,但每个注册只属于一个学生。

多对多关系

在多对多关系中,表 A 中的一行可以在表 B 中有多行匹配,反之亦然。您可以通过定义第三个表(称为连接表)来创建这种关系,该表的主键由表 A 和表 B 的外键组成。例如,Student 表和 Course 表具有多对多关系,该关系由从这些表中的每一个到 Enrollment 表的一对多关系定义。

一对一关系

在一对一关系中,表 A 中的一行在表 B 中最多只能有一行匹配,反之亦然。如果两个相关列都是主键或具有唯一约束,则创建一对一关系。

这种类型的关系并不常见,因为以这种方式关联的大多数信息都是一个表。您可以使用一对一关系来减去

  • 用许多列划分表格。
  • 出于安全原因隔离表格的一部分。
  • 存储短暂的数据,只需删除表格即可轻松删除这些数据。
  • 存储仅适用于主表格子集的信息。