問題タブ [sql-data-warehouse]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - ETL中に主キーを代理キーに置き換える方法は?
しばらくの間私を悩ませている質問があります。
ETLプロセス中に主キーを代理キーに置き換えると、実際にはどのように見えますか? ワークフローとはどのようなものですか? 新しい IDENTITY を割り当てるだけですか? もしそうなら、以前の値はどうですか、既存のビジネスキーを新しく作成されたものに置き換える方法は?
私の考えでは、特定のワークフローは次のようになりますが、実際にはまだ実行していません。
- DimProduct および FactSales テーブル内の既存の PK_Product および FK_Product を削除します。
- 新しい IDENTITY 列を dimProduct に設定します。
- 前のビジネス キーの結合に基づいて、新しく作成された IDENTITY 列の値を使用して、FactSales に新しい列を追加します。
- 両方のテーブルで古い ProductKey 列を削除します。
- 新しく作成されたサロゲート IDENTITY キーに制約を追加します。
- 将来の値のためにテーブル間の参照を割り当てます。
しかし、私が間違っていると思うので、あなたの仕事でこれをどのように行っているか教えてください。