实体框架 - 数据库设置


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

  • 学生
  • 课程
  • 注册
数据库

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

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

一对多关系

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

多对多关系

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

一对一的关系

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

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

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