2013-01-12 2 views
0

LARGE RESOLUTION (click here)SQL 사실 테이블 차원

enter image description here

우리가 특허 테이블의 오른쪽 연결로 보존 발명가 테이블의 기본 키 (InventorID)에 대한 외부 키를라는 사실 테이블에 넣을 수있는 방법

특허라고하는 표 특허의 기본 키와 표 발명자의 외래 키 특허와의 관계에 의해 표시됩니다. 팩트 테이블 특허 발명자 테이블을 사용하여 차원을 생성하기 위해이 작업을 수행하고 있습니다.

답변

2

귀하의 문제는 당신이 특허와 발명가 사이에 다 - 대 - 다 관계가 있다는 것입니다. 간단한 눈송이 스키마로 이것을 쉽게 구현할 수 없습니다.

기본적으로 특허 발명가 수준에서 새로운 테이블을 도입하여 이러한 엔티티 간의 다 대다 관계를 처리해야합니다.

두 가지 방법으로 생각할 수 있습니다. 첫 번째는 새로운 레벨의 사실 표가있는 스타 플레이크 스키마가 특허 발명가라는 것입니다. 특허 및 발명가 수준이 다음 표의 치수입니다.

둘째는 다중 사실 테이블로서 특허 발명가 테이블을 연결하는 것입니다.

중요한 것은 특허와 발명가 모두에게 공통적 인 다른 차원 인 시간과 지리와 같은 차원이 공유된다는 것입니다.

+0

또 다른 질문입니다. inventorid 속성은 처음에는 존재하지 않았습니다. Inventor 테이블에서 고유 한 값을 가진 기본을 가지기 위해 생성했습니다. 이제 inventorid 속성이 발명자 테이블의 주요 키 역할과 특허의 외래 키 역할을하여 고유 한 값으로 채워지도록해야합니다. 우리는 어떻게이 일을 할 수 있습니까? 평화 – Paul

+0

다 - 대 - 다 관계의 경우이 작업을 수행 할 수 없습니다. 특허에는 여러 발명가가 있습니다. , 키가있는 매핑 테이블이 필요합니다. –

관련 문제