适用于:Windows
Azure SQL 托管实例上的 SQL Server
重要
Master Data Services(MDS)在 SQL Server 2025(17.x)中被移除。 我们继续支持 SQL Server 2022(16.x)和早期版本中的 MDS。
在 Master Data Services 中,递归层次结构是包括递归关系的派生层次结构。 在实体具有基于域的属性,且该属性基于实体本身时,存在递归关系。
递归层次结构样本
典型的递归层次结构样本是组织结构。 在 Master Data Services 中,可以通过创建一个 Employee 实体(该实体具有名为 Manager 的基于域的属性)来说明这一点。 该 Manager 属性通过雇员列表填充。 在这个示例组织中,所有雇员都可以是经理。
您可以创建一个派生层次结构,该层次结构突出显示 Employee 实体和 Manager 基于域的属性之间的关系。
若要在层次结构中仅将每个成员包含一次,您可以锚定空关系。 执行此操作时,域属性值为空的成员将显示在层次结构的顶层。
如果不锚定 null 关系,则成员会被包含多次。 所有成员都显示在顶层。 它们也会显示在以它们为属性的成员下方。
在本示例中,Marcia 处于顶层。 她不是任何员工的经理,因为她没有被用作其他任何“员工”成员的基于域的属性值。 相反,Robert 下面有一个层级,因为 Marcia 的经理属性值为 Robert。
规则
派生层次结构不能包含多个递归关系。 当然也可以具有其他派生关系(例如,包含“经理到雇员”递归关系的派生层次结构还可以具有“国家/地区到经理”关系和“雇员到门店”关系)。
不能将成员权限(在“层次结构成员”选项卡上)分配给递归层次结构中的成员。
递归层次结构不能包括循环关系。 例如,如果 Sandeep 是 Katherine 的经理,则 Katherine 不能是 Sandeep 的经理。 此外,Katherine 也无法照顾自己。
相关任务
| 任务说明 | 主题 |
|---|---|
| 创建派生层次结构。 | 创建派生层次结构 (Master Data Services) |
| 更改现有派生层次结构的名称。 | 更改派生层次结构名称 (Master Data Services) |
| 删除现有派生层次结构。 | 删除派生层次结构 (Master Data Services) |