2011-10-17 5 views
0

Sales_fact snowflaking :
PRODUCT_ID (FK)
가격창고 -

Dim_Product :
PRODUCT_ID
PRODUCT_KEY
설명

내가 함께 직면하고 문제에 할 것입니다 여러 카테고리에 속할 수있는 제품이있는 경우 각 카테고리에 대해 Dim_Product에서 레코드를 반복해야합니까?

예 :

사실 테이블 :
PRODUCT_ID (FK) : 1
가격 : 10.5

Dim_Product :
PRODUCT_ID 1
PRODUCT_KEY : ABC
설명 : 노트북
고양이 egory_ID 1

PRODUCT_ID 1
PRODUCT_KEY : ABC
설명 : 노트북
CATEGORY_ID 2

Dim_Category :
CATEGORY_ID (FK) : 1
설명 : HP

범주 _ID (FK) : 2
설명 : Toshiba

답변

0

카테고리 정보를 dim_product로 옮기거나 팩트 테이블에서 카테고리 테이블로의 링크를 허용하거나 여러 카테고리의 카테고리에 대해 category마다 다른 product_id 키를 사용하려고한다고 생각합니다. 표시된대로 HP 노트북과 Toshiba 노트북을 구별 할 수있는 방법은 없습니다. 실제로 테이블이 디자인 될 때 ​​쿼리가 링크 될 때 쿼리가 반환됩니다. 고유 한 각 Product_key, Description, Category_ID에 대해 서로 다른 product_id를 만드는 것이 좋습니다.

0

당신이 필요로하는 것은 제품과 카테고리 사이의 브리지 테이블 인 스노우 플레이크의 반대입니다. 이 브리지 테이블은 어떤 제품이 어떤 카테고리에 속하는지 보여주기 위해 사실없는 사실로 작용합니다. 이것은 랄프 킴볼 스 (Ralph Kimballs)의 "Data Warehouse Toolkit"15 장에서 설명됩니다.

Product Category Bridge