web-dev-qa-db-ja.com

適合フィールドまたはスノーフレーク? -ショップと顧客の場所

店舗ディメンションと顧客ディメンションがあり、どちらにも位置情報があります。

ショップの場所と顧客の場所を関連付けるために場所ディメンションを作成する必要がありますか?これはスノーフレークスキーマと呼ばれていると思います。メンテナンスが難しいと聞きました。

|----------|       |---------|       |----------|
| Dim_Cust | ----- | Dim_Loc | ----- | Dim_Shop |
|----------|       |---------|       |----------|

または、ショップと顧客のディメンションが各場所フィールドに準拠しているという定義を維持する必要がありますか?これについては、位置情報を各次元に非正規化しました。

|----------|       |----------|
| Dim_Cust | ----- | Dim_Shop |
|----------|       |----------|
1
rendybjunior

これはアウトリガーの次元です。キンボールの方法論(スノーフレークではなくスタースキーマ)でこれを行うことは許可されていますが、データモデルが複雑になります(別のディメンションに日付がある場合、日付ディメンションで発生することがよくあります)。

店舗と顧客の両方のディメンションに位置情報を追加するだけです。どのショップがどの顧客によって訪問されているかについて複雑なクエリを実行する場合は、顧客とショップのすべての使用済みの組み合わせを持つ非正規化された顧客/ショップディメンションを作成できます。これにより、クエリがはるかに簡単になります。これは、優れたデータウェアハウスが提供するものです。お役に立てれば。

アウトリガーの寸法についていくつか説明します。 http://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/outrigger-dimension/

2
Ben Oastler