データ ウェアハウスは非正規化構造であるため、データが次元で繰り返されるのは正常なことです。整合性は、運用システムと ETL プロセスで提供する必要があります。以下のモデルのようなものがあるとします。
ツールを配布するビジネス プロセスは、どのツールをどのマシンにインストールできるかを認識している必要があります。間違ったツールが何らかの理由でマシンにインストールされているとします。ツールとマシンのタイプが一致しないために ETL プロセスを中断するよりも、その事実に一致するようにデータをインポートし、ビジネス プロセスのバグを発見するレポートを実行する方が適切です。
たとえば、このようなクエリ (レポート) は不一致を発見し、非常に役立つことがわかります。
select
'tool-machine mismatch' as alarm
, full_date
, machine_name
, machine_type
, tool_name
, matching_machine_type
, employee_full_name
from fact_installed_tools as f
join dim_machine as m on m.machine_key = f.machine_key
join dim_tool as t on t.tool_key = f.installed_tool_key
join dim_date as d on d.date_key = f.date_key
join dim_employee as e on e.employee_key = f.employee_key
where machine_type != matching_machine_type ;