2014-02-17 7 views
0

천천히 변경되는 내부 대용 키 및 유형 2를 사용하는 데이터웨어 하우스가 있습니다. 청산에서 우리가이처럼 ERP 시스템에서 비즈니스 키를 가지고 : 데이터웨어 하우스에서대리 키 (및 SCD)가 포함 된 DWH 가져 오기

Image of Clearing, sorry don't have enough reputation to post it directly or more than two links 우리가 대신 대리 키를 사용하려면 (참고 : 제 가격은 500 $로 변경 1000 $이고 기사는 가능하면 대용 키를 사용합니다 (여기서는 제조업체에만 해당). 우리가 비즈니스 키를 사용한 경우

Image of Data Warehouse

그냥 새로운 항목을 삽입, 기존 항목을 업데이트, 비교, 아무 문제 없습니다. 그러나 대리 키를 사용하여이를 수행하는 가장 좋은 방법은 무엇입니까?

지우기에서 데이터웨어 하우스의 기존 ID (0 또는 -1)를 가져온 다음 항목을 비교합니까?

enter image description here

aswell 데이터웨어 하우스의 비즈니스 키를 보관, 데이터웨어 하우스에 다음 ID를들을 비교하고 업데이트?

i.pictr.com/3kqn6wb9ou.png

+1

귀하의 요구 사항이 명확하지 않습니다. 소스 지우기에서 dwh로 데이터를로드하려는 경우 - 서로 게이트 키를 생성해야합니다.이 경우 소스 시스템 기본 키를 서로 게이트와 함께 dwh 테이블에 유지해야합니다. 로드하는 동안 소스/자연 키를 기반으로 dwh 테이블에서 데이터 조회를 수행하고 레코드가있는 경우 기존 행의 유효 기간을 업데이트하고 새 유효 행을 새 행으로 삽입하기 위해 변경 사항을 추적하고 변경 값을 추적하려는 열을 비교합니다 .. – garpitmzn

+0

마지막으로 [screenshot] (http://i.pictr.com/3kqn6wb9ou.png)에서와 같이 비즈니스 키를 데이터웨어 하우스에 보관하는 것이 가장 좋습니다. –

+1

예. 소스 비즈니스 키를 dwh로 유지하는 것이 좋습니다. – garpitmzn

답변

0

테이블을로드 할 때 조회를 할 수 있기를 - 기사를로드하는 동안 제조업체를 참조 할 때처럼, 당신은 DWH에서 자연/비즈니스 키를 저장해야합니다. 내 경험에 의하면, 이것은 항상 끝났습니다.

그러나 소스 엔터티의 비즈니스 키는 대상 엔터티에만 저장해야합니다. 내가 명확히하자면, 제조업체의 비즈니스 키는 다른 위치가 아닌 DWH의 Manufacturer 테이블에만 나타나야합니다. Article과 같은 다른 테이블에서 제조업체를 참조해야 할 때 제조업체의 대리 키를 사용합니다.

그래서 두 번째 스크린 샷에서 제대로 표시됩니다.

그런 다음 Article 테이블을로드 할 때 제조업체가 특정 아티클에 대해 변경된 사항을 알고 싶다면 먼저 비즈니스 키를 기준으로 제조업체의 서로 게이트 키를 조회하고 대리 키를 Article 테이블의 키와 비교합니다 . 이것이 일반적으로 이루어지는 방식입니다.