Поделиться через


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

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

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

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

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

Структура рекурсивной иерархии

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

Привязанная рекурсивная иерархия

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

Непривязанная рекурсивная иерархия

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

Правила

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

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

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