Производные иерархии (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.

Явные иерархии Производные иерархии
Структура определяется пользователем Структура образуется из связей между атрибутами на основе домена
Содержит членов одной и той же сущности Содержит элементы из нескольких сущностей
Использует консолидированные элементы для группировки других элементов Использует конечные элементы одной сущности для группирования конечных элементов другой сущности

Создание иерархии с изменяемой глубиной

Есть два проверенных способа создания иерархии с изменяемой глубиной.

  • Если необходимо, чтобы все уровни имели одинаковые атрибуты, создайте одну сущность и затем создайте рекурсивную иерархию для сущности с помощью доменного атрибута, основанного на сущности.

  • Если вам нужен один набор атрибутов для листовых элементов и другой набор атрибутов для элементов верхних уровней, создайте две сущности для производной иерархии. Для листовой сущности используйте атрибут на основе домена, основанный на родительской сущности. Для родительской сущности используйте атрибут на основе домена, который основывается сам на себе.

Пример производной иерархии

В следующем примере конечные элементы сущности «Продукт» сгруппированы по конечным элементам сущности «Подкатегория», которые затем сгруппированы по конечным элементам сущности «Категория». Эта иерархия возможна, потому что у сущности «Продукт» есть атрибут «Подкатегория» на основе домена, а у сущности «Подкатегория» есть атрибут «Категория» на основе домена.

Структура иерархии показывает, как группируются элементы. Сущность с наибольшим числом элементов располагается в самом низу.

Иерархия, производная от структуры модели

В производной иерархии можно выделить связь между «Продуктом» и «Подкатегорией» и затем между «Подкатегорией» и «Категорией». При просмотре элементов в этой иерархии каждый уровень дерева содержит элементы из одной сущности.

Пример производной иерархии горных велосипедов

Иерархия такого типа предотвращает перемещение элемента на недопустимый уровень. Например, можно переместить велосипед Road-650 из одной подкатегории, «Дорожные велосипеды», в другую, «Горные велосипеды». Нельзя переместить Road-650 непосредственно в такую категорию, как 1 {Bikes}. Каждый раз при перемещении элемента в дереве иерархии значение атрибута на основе домена для элемента изменяется, отражая это перемещение.

Примечания.

Все члены в производном дереве иерархии отсортированы по идентификатору. Нельзя менять порядок сортировки.

Если атрибут на основе домена для элемента пуст и атрибут используется в производной иерархии, то элемент не отображается в иерархии. Можно создать бизнес-правила, которые требуют заполнения атрибутов. Дополнительные сведения см. в разделе Обязательные значения атрибутов (Master Data Services).

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