2017-02-21 10 views
1

시간이 지남에 따라 변경 내용을 추적하기 위해 SCD 및 대리 키를 사용하는 직원 차원이 있습니다.대리 키가있는 차원 (데이터웨어 하우스)

직원의 비즈니스 시스템 키 : 내가 관리자 정보뿐만 아니라 시간이 지남에 따라 추적하고 싶은 EmployeeSCDKey

:

직원 대리 키를 직원 ID. 매니저는 다른 사람들처럼 직원이며, 같은, 정말처럼 내 직원 차원에서 ManagerSCDKey 열을 가진에 대해 생각했다 :

예 :

Example

이것은 내가 직면하고있는 문제는 그래도. 화살표는 한 변환에서 다음 변환까지의 경계를 보여줍니다. 매니저가 작업 (또는 다른 유형 2 SCD 필드)을 변경하고 새로운 대리 키가 생성 된 경우 다음에 치수가 변형 될 때까지 해당 변경 사항이 인식되지 않습니다.

이렇게하면 두 번째 변환까지 빨간색 행이 표시되지 않으므로이 시간에 Joe와 관련된 사실 행에는 오래된 관리자 정보가 포함됩니다.

는 나는이 귀결 같아요

이 패턴 작업을 만들 수있는 방법이 있나요? (자체 키가있는 치수?)

동일한 작업을 수행하는 더 나은 방법이 있습니까? 직원 차원과 매우 유사한 관리자 차원을 유지하지 않는 것이 가장 좋습니다. 그렇다면 최상의 방법입니다.

+0

모범 사례는 Manager에 다른 차원을 갖는 것입니다. 동일한 차원에서 2 개의 SCD 키를 유지하는 것은 지저분 할 것입니다. 다음 링크에서 다른 방법을 참조하십시오. http://blogs.adatis.co.uk/simonwhiteley/post/Slowly-Changing-Parent-Child-Dimensions-Part-1-The-Theory – MayowaO

답변

1

여기에 몇 가지 대안의 좋은 논의는, 당신이 당신이 필요 일치 뭔가를 찾을 거라고 확신입니다 : http://www.informationweek.com/software/information-management/kimball-university-five-alternatives-for-better-employee-dimension-modeling/d/d-id/1082326?page_number=1

I 가능성이 다리 테이블 '에 보고서'의 어떤 종류를 선택하는 것, 아마도 필요 자연스러운 키를 대신 사용할 수 있습니다 (유형 2 SCD 테이블을 해결할 때). 별도로 생성 된 관리자 차원을 가질 필요는 없으며 직원 만 브리지 테이블을 가리키게됩니다.