나는 모두에게 질문이 있습니다. 처음에는 기존의 동일한 질문을 검색했지만 관련 질문 만 찾았지만 내 질문에는 관련되지 않았습니다. 그래서 여기에 간다 :차원 테이블에 기본 키가 있어야합니까?
내 차원 테이블에 기본 키가 있어야합니까? 데이터웨어 하우스를 설계 한 방식은 정규화 된 데이터 저장소에서 대리 키를 관리했기 때문에이를 묻습니다. 그런 다음 대리 키가 바로 흐린 테이블로 전달됩니다. 소스 시스템의 모든 업데이트는 NDS (유형 1 또는 대체)에서 처음으로 반영됩니다. 기본적으로 나는 정규화 된 데이터 저장소의 역사적 가치를 추적하지 않습니다. 그러나 치수 데이터 저장소의 변경 사항을 추적합니다.
이 때문에 dim 테이블의 서로 게이트 키는 DB에서 관리하지 않습니다. 소스 시스템에서 변경된 사항이있는 경우, 같은 대리 키를 가진 새 행, 선택한 유형 2의 필드/열을 제외한 모든 항목이 변경됩니다.
dim 테이블에는 기본 키가 없으므로 사실 테이블에 FK 제약 조건이 없습니다. 데이터 마트 (PK/FK 제약 조건이없는 사실 및 희미한 테이블)를 사용할 때 이것이 데이터웨어 하우스의 성능에 어떤 영향을 미칩니 까?
http://i69.photobucket.com/albums/i47/boxingpics/dim_customer.jpg
이 괜찮은 : 여기
내 샘플 데이터의 스크린 샷이다?
키없이 팩트 테이블에 차원을 어떻게 결합 하시겠습니까? 실제로 당신이 의미하는 바는 키에 대한 제약이 없다는 것입니다. 제약 조건을 구현하는 것이 좋습니다. 가능한 경우 데이터 무결성을 선언적으로 시행해야합니다. 스타 조인 최적화 및 기타 최적화와 같은 DBMS 기능은 주요 제약 조건의 존재 여부에 달려 있습니다. – sqlvogel
답장을 보내 주셔서 감사합니다. 그러나 위에 강조 표시된 이유로 인해 dim 테이블에 기본 키 제약 조건을 만들 수 없습니다. PK는 고유 한 권리입니까? 그렇다면 희미한 테이블에 테이블을 만들 수 없으므로 사실 테이블에 대한 FK 제약 조건을 사용할 수 없습니다. – erwin
스타 스키마 계층에서 서로 게이트를 생성하는 것이 더 일반적입니다. 많은 ETL 도구는 코딩이 필요없이 대리 키 생성과 천천히 변화하는 차원을 관리합니다. 측정 기준에 기본 키 제약 조건이없는 경우 중복이 생성되지 않아 어떻게보고가 부정확하다는 것을 알 수 있습니까? – Steve