2017-04-23 2 views
0

스타 스키마와 스노우 플레이크 스키마를 구분하여 시작하려고합니다. 하지만 테이블을 표준화하여 눈송이 스키마를 만드는 데 문제가 있습니다. 첨부 된 이미지가 스타 스키마 내가 dimcustomer의 또 다른 어두운 테이블을 만들려고 enter image description here데이터웨어 하우징 - Snowflake 스키마 정규화

,하지만 난 테이블의 이름을 수 있는지 모르겠습니다. 제발, 어떤 도움을 주시면 감사하겠습니다.

눈송이 스키마 enter image description here

+0

당신이 묻고있는 것에 대해 좀 더 구체적으로 말할 수 있습니까? DimCustomer의 또 다른 이름일까요? 왜 다른 이름을 원하니? 아니면 고객을 정규화 된 테이블로 분리하여 눈송이로 만들려는 것이 더 낫습니까? 후자의 경우, 서로 연결되어있는 DimCity 및 DimCountryRegion 테이블을 별도로 만들고 나서 DimCustomer에 연결할 수 있습니다. 그게 눈송이가 더 많을 지 모르지만 나는 그것을 추천하지 않을거야. – Rich

+0

dimCity가있는 다이어그램을 추가하고 dimCustomer에 연결했습니다. 그러나 나는 정상화 할 수있는 다른 테이블이 무엇인지 잘 모르겠다. – AdrianAndrews

+0

글쎄, 날짜는 현재 날짜 다. 따라서 한 달 테이블과 1 년 테이블을 확실히 만들 수있다. 하지만 왜? – Rich

답변

1

스타 스키마가 좋은, 눈송이 스키마로를 normilize하지 않습니다.

이것은 관계형 데이터베이스가 강한 사람들이 일반적으로 범하는 실수입니다. 그들은 종종 비정규 화 된 차원을 "비효율적"이라고 인식하고 정규화를 통해 "수정"하려고합니다. 그들이 놓치고있는 것은 차원 모델과 OLTP 데이터베이스가 서로 다른 효율성 기준 (쿼리 속도와 스토리지 효율성)을 갖고 있다는 것입니다.

눈송이 스키마는 일반적으로 불필요하며 역효과가 있습니다. 그것은 당신의 디자인을 복잡하게하고 당신의 모델 성능에 부정적인 영향을 미칠 것입니다. 사실상, 다른 세분성을 가진 사실 테이블간에 차원을 공유해야 할 때만 눈송이 구조 만 사용합니다.

관련 문제