Рекурсивные иерархии (Master Data Services)

Применимо к:SQL Server на Windows Управляемый экземпляр Azure SQL

Это важно

Службы Master Data Services (MDS) удаляются в SQL Server 2025 (17.x). Мы продолжаем поддерживать MDS в SQL Server 2022 (16.x) и более ранних версиях.

В службах Master Data Services рекурсивная иерархия — это производная иерархия, которая включает рекурсивную связь. Рекурсивная связь возникает, когда у сущности есть атрибут предметной области, основанный на самой сущности.

Образец рекурсивной иерархии

Типичным примером рекурсивной иерархии может служить организационная структура. В службах Master Data Services это можно сделать, создав сущность Employee с атрибутом на основе домена с именем Manager. Атрибут «Менеджер» заполняется из списка сотрудников. В организации, взятой для образца, все сотрудники могут быть менеджерами.

mds_conc_recursive_table_w_data mds_conc_recursive_table_w_data

Можно создать производную иерархию, в которой выделяется связь между сущностью «Сотрудник» и атрибутом «Менеджер» на основе домена.

mds_conc_recursive_UI_structure mds_conc_recursive_UI_structure

Чтобы включить каждый элемент в иерархию только один раз, можно закрепить нулевые связи. В этом случае элементы с пустыми значениями атрибутов, основанных на домене, отображаются на верхнем уровне иерархии.

mds_conc_recursive_UI_example_anchored mds_conc_recursive_UI_example_anchored

Если не привязать связи со значением NULL, элементы будут включаться несколько раз. Все участники отображаются на верхнем уровне. Они также отображаются в разделе членов, атрибутами которых они являются.

mds_conc_recursive_UI_example_nonanchored mds_conc_recursive_UI_example_nonanchored

В данном примере Марсия находится на высшем уровне. Она не является менеджером ни для кого из сотрудников, поскольку она не используется как значение атрибута на основе домена для какого-либо другого элемента сущности «Сотрудник». У Роберта, напротив, есть уровень ниже него, поскольку в качестве значения атрибута «Менеджер» у Марсии указан Роберт.

Правила

  • Производная иерархия не может содержать более одной рекурсивной связи. Однако она может иметь и другие производные связи (например, производная иерархия, содержащая рекурсивную связь "Менеджер — Сотрудник", может также включать связи "Страна/регион — Менеджер" и "Сотрудник — Магазин").

  • Нельзя назначать разрешения элементам (на вкладке Элементы иерархии ) в рекурсивной иерархии.

  • В рекурсивные иерархии не могут включаться циклические связи. Например, Катерина не может быть менеджером Сэндип, если Сэндип — ее менеджер. Также Катерина не может быть своим собственным менеджером.

Описание задачи Тема
Создание производной иерархии. Создать производную иерархию (Master Data Services)
Изменение имени существующей производной иерархии. Изменить имя производной иерархии (Master Data Services)
Удаление существующей производной иерархии. Удалить производную иерархию (Master Data Services)