私は、DWH 内の企業に関するすべての説明情報を含むh_company
サテライトと呼ばれるハブを持っています。s_company
ソースデータベースには、company_branch
会社をいくつかのブランチにマップする というマッピングテーブルがあります (1 つの列はcompany_idで、2 番目の列はbranch_id です)。重要な注意: branch_id列は satellite には存在しませんs_company
。
ソース データベースに という 3 番目のテーブルがありbranch
、これはbranch_idとdescription列で構成されています。reference_table
多くのレコードが含まれておらず (30 ブランチのみ)、多くの変更がなく、参照テーブル (id と説明の列) の構造を持っているため、これは完璧です。
私の質問は: 会社 <--> 支店の関係をモデル化する最良の方法は何ですか?
サテライト
s_company
にbranch_id列がある場合、基本的にはbranch
テーブルを DWH の参照テーブルとしてモデル化し、後で s_company サテライトに参加することができます。残念ながら、サテライトにはbranch_id列がありませんs_company
。私のアプローチは、
company_branch
テーブルをリンクとしてモデル化し、接続h_company
してh_branch
(テーブルから作成)、サテライト(テーブルからcompany_branch
作成)を作成することです。しかし、ブランチは実際にはビジネス オブジェクトではなく、単なる追加情報 (完全な参照テーブル) であり、ブランチ サテライトには 30 レコードしか含まれないため、このアプローチはやり過ぎのように見えます。s_branch
branch
この場合、会社 <--> 支店の関係をどのようにモデル化しますか?
テーブル:
h_company 列: company_id、technicall_columns
s_company 列: company_id、desctiptive_columns (branch_id なし)、techncall_columns
company_branch 列: company_id、branch_id
ブランチ列: branch_id、説明