다음을 통해 공유


차원 관계

차원 사용량은 큐브 차원과 큐브의 측정값 그룹 간의 관계를 정의합니다. 큐브 차원은 특정 큐브에서 사용되는 데이터베이스 차원의 인스턴스입니다. 큐브에는 측정값 그룹과 직접 관련이 없지만 다른 차원 또는 측정값 그룹을 통해 측정값 그룹과 간접적으로 관련될 수 있는 큐브 차원이 있을 수 있습니다. 큐브에 데이터베이스 차원 또는 측정값 그룹을 추가하는 경우 Microsoft SQL Server Analysis Services는 큐브의 데이터 원본 뷰에서 차원 테이블과 팩트 테이블 간의 관계를 검사하고 차원의 특성 간의 관계를 검사하여 차원 사용량을 확인하려고 합니다. Analysis Services는 검색할 수 있는 관계에 대한 차원 사용 설정을 자동으로 설정합니다.

차원과 측정값 그룹 간의 관계는 관계에 참여하는 차원 및 팩트 테이블과 특정 측정값 그룹의 차원 세분성을 지정하는 세분성 특성으로 구성됩니다.

일반 차원 관계

차원의 키 열이 팩트 테이블에 직접 조인될 때 큐브 차원과 측정값 그룹 간의 일반 차원 관계가 존재합니다. 이 직접 관계는 기본 관계형 데이터베이스의 기본 키-외래 키 관계를 기반으로 하지만 데이터 원본 뷰에 정의된 논리적 관계를 기반으로 할 수도 있습니다. 일반 차원 관계는 기존 별표 스키마 디자인에서 차원 테이블과 팩트 테이블 간의 관계를 나타냅니다. 일반 관계에 대한 자세한 내용은 일반 관계 및 일반 관계 속성 정의를 참조하세요.

참조 차원 관계

다음 그림과 같이 차원의 키 열이 다른 차원 테이블의 키를 통해 팩트 테이블에 간접적으로 조인될 때 큐브 차원과 측정값 그룹 간의 참조 차원 관계가 존재합니다.

논리 다이어그램, 참조된 차원 관계

참조 차원 관계는 눈송이 스키마 디자인에서 차원 테이블과 팩트 테이블 간의 관계를 나타냅니다. 차원 테이블이 눈송이 스키마에 연결된 경우 여러 테이블의 열을 사용하여 단일 차원을 정의하거나 별도의 차원 테이블을 기반으로 별도의 차원을 정의한 다음 참조 차원 관계 설정을 사용하여 차원 간 연결을 정의할 수 있습니다. 다음 그림에서는 Snowflake 스키마에 InternetSales라는 팩트 테이블 1개와 CustomerGeography라는 2차원 테이블을 보여 줍니다.

논리 스키마, 참조된 차원 관계

Customer 테이블을 차원 주 테이블로, 지리 테이블을 관련 테이블로 포함하는 차원을 만들 수 있습니다. 그런 다음 차원과 InternetSales 측정값 그룹 간에 일반 관계가 정의됩니다.

또는 InternetSales 측정값 그룹과 관련된 두 가지 차원, 즉 Customer 테이블을 기반으로 하는 차원과 Geography 테이블을 기반으로 하는 차원을 만들 수 있습니다. 그런 다음 Customer 차원을 사용하여 참조 차원 관계를 사용하여 Geography 차원을 InternetSales 측정값 그룹에 연결할 수 있습니다. 이 경우 InternetSales 측정값 그룹의 팩트를 지리 차원으로 조정하면 팩트는 고객 및 지리별로 차원됩니다. 큐브에 Reseller Sales라는 두 번째 측정값 그룹이 포함된 경우 Reseller Sales와 Geography 간에 관계가 없으므로 지리별로 Reseller Sales 측정값 그룹의 팩트를 차원화할 수 없습니다.

다음 그림과 같이 함께 연결할 수 있는 참조 차원 수에는 제한이 없습니다.

논리 다이어그램, 참조된 차원 관계

참조된 관계에 대한 자세한 내용은 참조된 관계 및 참조된 관계 속성 정의를 참조하세요.

팩트 차원 관계

퇴행 차원이라고도 하는 팩트 차원은 차원 테이블의 특성 열 대신 팩트 테이블의 특성 열에서 생성되는 표준 차원입니다. 중복을 줄이기 위해 유용한 차원 데이터가 팩트 테이블에 저장되는 경우가 있습니다. 예를 들어 다음 다이어그램은 Adventure Works DW 다차원 2012 샘플 데이터베이스의 FactResellerSales 팩트 테이블을 표시합니다.

팩트 테이블의 열은 실제로 열이

이 테이블에는 재판매인에서 발급한 주문의 각 줄뿐만 아니라 주문 자체에 대한 특성 정보가 포함되어 있습니다. 이전 다이어그램에 동그라미를 친 특성은 FactResellerSales 테이블의 정보를 식별하여 차원의 특성으로 사용할 수 있습니다. 이 경우 두 가지 추가 정보인 운송업체 추적 번호와 재판매인에서 발급한 구매 주문 번호가 CarrierTrackingNumber 및 CustomerPONumber 특성 열로 표시됩니다. 이 정보는 흥미롭습니다. 예를 들어 사용자는 단일 추적 번호로 배송되는 모든 주문에 대해 총 제품 비용과 같은 집계된 정보를 보는 데 확실히 관심이 있을 것입니다. 그러나 이러한 두 특성에 대한 차원 데이터가 없으면 구성하거나 집계할 수 없습니다.

이론적으로 FactResellerSales 테이블과 동일한 키 정보를 사용하는 차원 테이블을 만들고 다른 두 특성 열인 CarrierTrackingNumber 및 CustomerPONumber를 해당 차원 테이블로 이동할 수 있습니다. 그러나 데이터의 상당 부분을 복제하고 데이터 웨어하우스에 불필요한 복잡성을 추가하여 두 특성만 별도의 차원으로 나타낼 수 있습니다.

비고

팩트 차원은 드릴스루 작업을 지원하는 데 자주 사용됩니다. 작업에 대한 자세한 내용은 작업(Analysis Services - 다차원 데이터)을 참조하세요.

비고

팩트 관계에서 참조하는 측정값 그룹에 대한 업데이트가 있을 때마다 팩트 차원을 증분 방식으로 업데이트해야 합니다. 팩트 차원이 ROLAP 차원인 경우 Analysis Services 처리 엔진은 캐시를 삭제하고 측정값 그룹을 증분 방식으로 처리합니다.

팩트 관계에 대한 자세한 내용은 팩트 관계 및 팩트 관계 속성 정의를 참조하세요.

다 대 다 차원 관계

대부분의 차원에서 각 팩트는 하나의 차원 멤버에만 조인되고, 단일 차원 멤버는 여러 팩트와 연결할 수 있습니다. 관계형 데이터베이스 용어에서 이를 일대다 관계라고 합니다. 그러나 단일 팩트를 여러 차원 멤버에 조인하는 것이 유용한 경우가 많습니다. 예를 들어 은행 고객은 여러 계정(수표, 저축, 신용 카드 및 투자 계좌)을 가질 수 있으며 계정에는 공동 또는 여러 소유자가 있을 수도 있습니다. 그런 다음 이러한 관계에서 생성된 고객 차원에는 단일 계정 트랜잭션과 관련된 여러 멤버가 있습니다.

논리 스키마/다 대 다 차원 관계

SQL Server Analysis Services를 사용하면 차원과 팩트 테이블 간의 다 대 다 관계를 정의할 수 있습니다.

비고

다 대 다 차원 관계를 지원하려면 데이터 원본 뷰가 이전 다이어그램과 같이 관련된 모든 테이블 간에 외래 키 관계를 설정해야 합니다. 그렇지 않으면 차원 디자이너의 차원 사용 탭에서 관계를 설정할 때 올바른 중간 측정값 그룹을 선택할 수 없습니다.

다 대 다 관계에 대한 자세한 내용은 다대다 관계 및 다 대 다 관계 속성 정의를 참조하세요.

또한 참조하십시오

차원(Analysis Services - 다차원 데이터)