派生階層 (マスター データ サービス)
適用対象: SQL Server - Windows のみ Azure SQL Managed Instance
マスター データ サービスの派生階層は、モデル内のエンティティ間に既に存在するドメインベースの属性のリレーションシップから派生します。
派生階層を作成することで、モデル内の既存のドメイン ベースの属性リレーションシップを強調表示できます。
他のリーフ メンバーをグループ化するリーフメンバー
派生階層では、1 つのエンティティのリーフ メンバーを使用して別のエンティティのリーフ メンバーをグループ化します。 派生階層は、これらのエンティティの間のリレーションシップに基づいています。 これに対し、明示的階層は単一エンティティのメンバーに基づき、指定した任意の方法で構造化されます。
派生階層の構造は、基になるデータに影響を与えることなく変更できます。 モデル内にリレーションシップが存在している限り、派生階層を削除してもマスター データには影響しません。
明示的階層と派生階層
次の表は、明示的階層と派生階層の相違点の一部を示しています。
Note
マスター データ サービスのこのリリースでは、明示的階層は非推奨とされます。
明示的階層 | 派生階層 |
---|---|
構造はユーザーによって定義される | 構造はドメイン ベースの属性間のリレーションシップから派生する |
単一のエンティティからのメンバーを含む | 複数のエンティティからのメンバーを含む |
他のメンバーをグループ化する統合メンバーを使用する | 1 つのエンティティのリーフ メンバーを使用して、別のエンティティのリーフ メンバーをグループ化する |
変数の深さ階層の作成
変数の深さ階層の作成方法として、次の 2 種類の方法をお勧めします。
すべてのレベルの属性を同じにする場合は、単一のエンティティを作成してから、エンティティに基づくドメイン ベースの属性を使用してそのエンティティの再帰型階層を作成します。
リーフ メンバーに 1 セットの属性が必要で、上位レベルにはもう 1 セット属性が必要な場合は、派生階層に 2 つのエンティティを作成します。 リーフ エンティティに対しては、親エンティティに基づくドメイン ベースの属性を使用します。 親エンティティに対しては、親エンティティ自体に基づくドメイン ベースの属性を使用します。
派生階層の例
次の例では、Product エンティティのリーフ メンバーは Subcategory エンティティのリーフ メンバーによってグループ化されています。Subcategory エンティティは、Category エンティティのリーフ メンバーによってグループ化されています。 Product エンティティには Subcategory というドメイン ベースの属性があり、Subcategory エンティティには Category というドメイン ベースの属性があるので、この階層は有効です。
階層構造は、メンバーがグループ化されている方法を示します。 ほとんどのメンバーを持つエンティティは一番下に位置します。
派生階層では、Product と Subcategory 間のリレーションシップを強調表示してから、Subcategory と Category 間のリレーションシップを強調表示できます。 この階層内にメンバーを表示すると、ツリー内の各レベルに同じエンティティのメンバーが含まれています。
この種類の階層では、無効なレベルにメンバーを移動できません。 たとえば、自転車 Road-650 は、Road Bikes というサブカテゴリから Mountain Bikes という別のサブカテゴリに移動することはできますが、 1 {Bikes} などのカテゴリの直下に移動することはできません。 階層ツリー内でメンバーを移動するたびに、メンバーのドメイン ベースの属性値は、移動を反映して変更されます。
メモ
派生階層ツリー内のすべてのメンバーは、IDによって並べ替えられます。 並べ替え順序は変更できません。
メンバーのドメイン ベースの属性が空で、その属性が派生階層で使用される場合、そのメンバーは階層内に表示されません。 属性への値の設定を要求するビジネス ルールを作成してください。 詳細については、「属性値を要求する(マスター データ サービス)」を参照してください。
Related Tasks
タスクの説明 | トピック |
---|---|
新しい派生階層を作成する。 | 派生階層を作成する (マスター データ サービス) |
既存の派生階層のレベルを非表示にするか、または削除する。 | 派生階層のレベルを非表示にするか削除する (マスター データ サービス) |
既存の派生階層の名前を変更する。 | 派生階層名の変更 (マスター データ サービス) |
既存の派生階層を削除する。 | 派生階層の削除 (マスター データ サービス) |