次の方法で共有


再帰型階層 (マスター データ サービス)

Applies to: SQL Server - Windows only Azure SQL Managed Instance

マスター データ サービスでは、再帰型階層は、再帰リレーションシップが入った派生階層です。 再帰リレーションシップは、エンティティ自体に基づくドメインベースの属性がエンティティにある場合に存在します。

再帰型階層の例

再帰型階層の典型的な例は、組織構造です。 マスター データ サービスでは、Manager というドメイン ベースの属性を持つ Employee エンティティを作成することでこれを行います。 Manager 属性は、従業員 (employee) のリストから設定されます。 このサンプル組織では、すべての従業員がマネージャーである可能性があります。

mds_conc_recursive_table_w_data

Employee エンティティおよびドメイン ベースの Manager 属性の間のリレーションシップを強調表示する派生階層を作成できます。

mds_conc_recursive_UI_structure

階層内の各メンバーを一度だけ含めるために、Null リレーションシップをアンカーできます。 その場合、空白のドメイン ベースの属性値を持つメンバーが階層の最上位レベルに表示されます。

mds_conc_recursive_UI_example_anchored

Null リレーションシップをアンカーしない場合、メンバーは複数回含まれます。 すべてのメンバーは最上位レベルに表示されます。 すべてのメンバーは、それらが属性であるメンバーの下にも表示されます。

mds_conc_recursive_UI_example_nonanchored

この例では、Marcia は最上位レベルにあります。 Marcia はその他の Employee メンバーのドメイン ベースの属性値として使用されていないので、Marcia はいずれの従業員のマネージャーでもありません。 対照的に、Marcia には Manager 属性値として Robert が設定されているので、Robert の下にレベルがあります。

ルール

  • 1 つの派生階層に複数の再帰リレーションシップを含めることはできません。 ただし、他の派生リレーションシップを入れることは可能です (例えば、「Manager と Employee」の再帰リレーションシップが入った派生階層は、「Country/Region と Manager」および「Employee と Store」のリレーションシップも入れることができます)。

  • ( [階層メンバー] タブで) メンバー権限を再帰的階層のメンバーに割り当てることはできません。

  • 再帰的階層は循環リレーションシップを含むことはできません。 たとえば、Sandeep が Katherine のマネージャーである場合、Katherine を Sandeep のマネージャーにすることはできません。 また、Katherine は Katherine 自身のマネージャーになることもできません。

タスクの説明 トピック
派生階層を作成する。 派生階層の作成 (マスター データ サービス)
既存の派生階層の名前を変更する。 派生階層名の変更 (マスター データ サービス)
既存の派生階層を削除する。 派生階層の削除 (マスター データ サービス)