2009-07-16 1 views

답변

1

나는 진짜 마이크로 소프트의 프로젝트를 다운로드했다. 그들은 pk의 모든 키를 포함하지 않습니다. 2 가지 시나리오가 있습니다. 모든 키가 실제로 비즈니스 규칙에 따라 고유하면 pk입니다. 2 - 테이블에 고유 한 것보다 테이블에 더 많은 키가있는 경우 클러스터 된 인덱스가 고유 키에 사용되고 테이블에 기본 키가 없습니다.

1

계산 된 열을 연결 및 색인으로 작성하십시오.

15를 초과하는 열을 연결하고 여분의 열을 16 번째로 만들면됩니다.

17 치수가 필요합니까?

+0

예 17 치수가 필요합니다. 키에 ints를 사용하고 있는데 연결은 어떻게됩니까? – Rick

+0

데이터 정렬이 아니라 고유성이 중요하다면 문자열로 변환하고 일부 구분 문자로 결합하면됩니다. 데이터 정렬에 신경 쓰면 돈형을 사용하고 배율을 사용합니다. 따라서 17 번째 값의 범위가 0에서 1,000,000이면 calc 값 = 16th * 1000000 + 17입니다. 데이터 구조와 넣을 작업의 양에 따라 더 효과적인 다른 방법이 있습니다. – lavinio

+0

키를 결합하는 훨씬 더 추상적 인 방법은 이진 (x) 데이터 형식입니다 - INT 키당 4 바이트를 추가하십시오. 그러나 그것은 스타 스키마 패러다임을 깨뜨리고 죄처럼 추악합니다. –

0

치수를 결합 할 수 있습니까? 저는 이전에 각각 3-4 개의 값을 갖는 3 차원을 가지고 있었고, 약 48 개의 행을 가진 "쓰레기"차원 (Kimball의 이름, 내 이름이 아님)으로 그들을 하나로 묶었습니다.

+0

나는 정크 치수를 고려했다. 이 특별한 경우에는별로 의미가 없었습니다. – Rick

2

사실 테이블의 서로 게이트 기본 키를 작성하십시오.

1

사실을 많이 알기를 바랍니다. 17 개의 차원을 사용하면 실제로 많은 문제가 발생합니다.

+0

이 특별한 사실에 대해, 우리는 그렇지 않습니다. 실제로 사실이없는 사실 테이블입니다. 유일한 조치는 표에 대한 계산입니다. – Rick

관련 문제