在表之间创建关系

备注

2020 年 11 月生效:

  • Common Data Service 已更名为 Microsoft Dataverse。 了解详细信息
  • Microsoft Dataverse 中的一些术语已更新。 例如,实体 现在更新为 字段 现在更新为 了解详细信息

本文很快将更新,以反映最新的术语。

一个表中的数据通常与另一个表中的数据相关。 例如,您可能有 教师 表和 班级 表,班级 表可能有与 教师 表的查找关系来显示哪个教师教哪个班级。 您可以使用查找列从 教师 表显示数据。 这通常称为查找列。

定义关系

您可以创建多个类型的一个表到另一个表(或表与自己)的关系。 每个表可以与多个表有一个关系,并且每个表可以与另一个表之间有多个关系。 某些常见的关系类型为:

  • 多对一 - 在这种关系中,表 A 中的每个行都可以与表 B 中的多个行匹配,但是,表 B 中的每个行只能与表 A 中的一个行匹配。例如,班级有一个教室。 这是最常见的关系类型,其在列列表中显示为 查找列
  • 一对多 - 在这种关系中,表 B 中的每个行都可以与表 A 中的多个行匹配,但是,表 A 中的每个行只能与表 B 中的一个行匹配。例如,一名教师为很多班级上课。
  • 多对多 - 在这种关系中,表 A 中的每个行可以与表 B 中的多个行匹配,反之亦然。 例如,学生参加很多班级,每个班级可以有多名学生。

此外,您还可以在操作每次在父表上执行时在多对一和一对多关系上设置高级的级联行为。

添加查找列(多对一关系)

若要向表添加查找关系,在 关系 选项卡下创建关系并指定要与其创建关系的表。

  1. powerapps.com 上,展开 数据 部分,然后选择左侧导航窗格中的

  2. 选择现有表或创建新表

  3. 选择 关系 选项卡。

  4. 选择 添加关系,然后选择关系类型,如 多对一

  5. 在右侧窗格中,为 当前 表选择 相关表,然后选择 完成

    多对一关系示例

  6. 选择 保存表

    多对一关系

添加一对多关系

若要添加一对多关系,在 关系 选项卡下创建关系并指定要与其创建关系的表。

  1. powerapps.com 上,展开 数据 部分,选择左侧导航窗格中的

  2. 选择现有表或创建新表

  3. 选择 关系 选项卡。

  4. 选择 添加关系 右侧的向下箭头,然后选择 一对多

    一对多关系

  5. 选择表。 请注意,查找 列将显示在 当前 表中,它们默认具有表名称(在此示例中为“教师”),但您可以在需要时进行更改。 选择 完成 将关系添加到表中。

    备注

    如果是一对多关系,查找列将在相关表中创建,而不是您当前选择的表。 如果需要在当前表上查找,请创建多对一关系。

    一对多示例

  6. 选择 保存表

添加多对多关系

若要添加多对多关系,在 关系 选项卡下创建关系并指定要与其创建关系的表。

  1. powerapps.com 上,展开 数据 部分,选择左侧导航窗格中的

  2. 选择现有表或创建新表

  3. 选择 关系 选项卡。

  4. 选择 添加关系,然后选择 多对多。 这将打开一个面板供您选择要与其创建关系的表。 从 相关表 下拉列表中选择表。

  5. 在选择表后,关系和关系表的名称将显示。 它们将默认具有合并的表的名称,但如果需要,您可以进行更改。

    多对多关系

  6. 选择 完成 将关系添加到表,然后单击 保存表

添加高级关系行为

在构建一对多或多对一关系时,您还可以设置高级行为。

高级行为

这些选项也称为级联行为,因为它们在相关表的层次结构中级联。 例如,如果学生被从系统中删除,可能需要删除相关的学生测试和家庭作业。 此类行为称为父关系。

另一方面,您可能决定不希望操作向下级联到层次结构。 例如,在教师与班级关系中,您可能决定子表(类)在父级(教师)被删除时 应删除。 这称为引用关系。

在通过创建自定义表为业务数据建模时,或使用现有通用数据模型表时,应考虑所需的行为以及该行为对相关表的整个层次结构的影响,并在以下标准行为之间选择一个:

  • 引用,删除链接: 在两个表之间的引用关系中,可以导航到任何相关行,但对一个表执行的操作并不会影响另一个表。 例如,如果您有教师与班级之间的一对多关系,删除教师将不会影响相关类。

  • 引用,限制删除: 在两个表之间的“引用,限制删除”关系中,您可以导航到任何相关行。 对父行执行的操作并不会应用到子行,但是存在子行时不能删除父行。 如果您不希望子行成为孤立项,这非常有用。 这会强制用户在删除父项前删除所有子项。

    引用,限制删除

  • 父级: 在两个表之间的父级关系中,对父表行执行的任何操作也可以对与父表行相关的所有子表行执行。 例如,当删除父项时,这会导致删除所有子行。

  • 自定义: 在两个表之间的自定义关系中,可选择与每一组可能的操作关联的行为。

    自定义行为

有关默认行为和自定义行为的详细信息:配置表关系行为

在应用程序中使用查找列

如果从包含查找列的表 自动创建应用,它将显示为包含来自表的 主要名称 列的数据的 下拉 控件。

为区域应用添加 1:N 和 N:N 关系

在 Microsoft Dataverse 中使用 Relate 函数通过一对多或多对多关系链接两个行。 详细信息:Power Apps 中的关联和取消关联功能

后续步骤