2014-09-02 1 views
2

관계형 데이터베이스가 있고 보고서를 작성하려는 경우 다음을 수행 할 수 있습니다 (정확하지 않은 경우 알려주십시오).스타 다이어그램에서 차원 및 팩트 테이블은 어떻게 관련되어 있습니까?

  1. 관계형 데이터베이스를 탐색하고 보고서에 포함시키려는 모든 열의 목록을 만드십시오.
  2. 관련된 열을 그룹화 한 다음이를 (정상화하여) 추가 테이블로 분할합니다. 이것이 치수입니다.
  3. 다음 차원은 기본 키 (가능하면 두 행 조합)를 가지며 팩트 테이블에는 각 차원을 참조하는 외래 키와 판매 값과 같이 처음에 구분하지 않는 필드가 있습니다.

질문 : 나는 원래 차례로 차원에서 데이터를 참조하는 것을 외부 소스에서 데이터를 참조 데이터 마트 및 사실 테이블과 차원을보고 있었다 .. 즉, 그것은 잘못된 그렇지? 다른 방법 ...

또는 일반적으로 데이터베이스를 정규화하려면 테이블을 외래 키로 가져온 열을 항상 바꿀 것이고 새 테이블에 기본 키를 추가하십시오.

답변

3

팩트 테이블은 분석하려는 프로세스 또는 이벤트를 나타냅니다.

1 단계 : 분석 할 프로세스 또는 이벤트 란 무엇입니까?

사실 테이블의 열은 분석과 관련된 모든 변수를 나타냅니다.

단계 2 : 분석과 관련된 변수는 무엇입니까?

열을 차원 테이블로 "분할"하는 것은 사용자의 이해와 관련이 없습니다. 팩트 테이블이 차지하는 공간을 최소화하기위한 최적화입니다.

물어, 측정 값과 차원을 구별하려면

3 단계 : 내 사실 테이블의 (진정한) 숫자 값은 무엇인가? 이것이 당신의 조치입니다.

실제 숫자 값의 예로 Sales Order Line Item Extended Price와 같은 달러 금액을들 수 있습니다. 당신은 그것을 요약하거나 평균을 취할 수 있습니다.

실제 숫자가 아닌 값의 예는 고객 ID 12345입니다. 숫자이지만 숫자가 아닌 것을 나타냅니다 (고객). 고객 ID의 합은 의미가 없으며 평균도 마찬가지입니다. 파기? 귀하의 질문에 대해서는

:

  1. 사실 테이블은 차원 테이블에 외래 키가 필요하지 않습니다. (힌트 : 핫 스왑 가능 치수 참조)

  2. "외부 소스의 데이터를 참조하는 데이터 마트로 치수". 흠 ... 어쩌면 데이터 마트에 대해서는 걱정할 필요가 없습니다. 차원은 사실 테이블의 하나의 열 (측정 값이 아님)입니다. 차원 테이블은 관련된 차원 집합입니다.

  3. Excel로 시작하십시오. 분석에 필요한 열을 파악하십시오. 그들을 Excel에 넣으십시오. 그것이 당신의 사실 표입니다. 팩트 테이블이 커질 것으로 예상되는 경우 (MB의 100 초), 다음 정규화를 수행하십시오.

측정 값을 계산하십시오. 사실 테이블에 남겨주세요.

치수를 알아보십시오. 그것들을 그룹화하십시오 (고객 정보를 하나의 그룹으로, 정보를 다른 그룹으로 저장).

자신의 테이블에 넣으십시오. 그들에게 무의미한 대리 키를 제공하십시오. 그 키를 사실 테이블에 넣으십시오.

+0

매우 유용합니다. 고맙습니다! – ABMagil

관련 문제