- 나는 사실과 외래 키 ('차원 '과'키 - 값 '형)로 구성된 테이블의 번호를 가지고있다. 예를 들면, 실전 :
ID - 기본 키
치수
- LOCATION_ID
- PATIENT_ID
키 값
- TYPE_ID
- STATUS_ID
- PATIENT_CLASS_ID
- DISPOSITION_ID
- ...
사실
- ADMISSION_DATE
- DISCHARGE_DATE 나는 데이터웨어 하우스를 만들 수있는 옵션이 없습니다
... 내가
를보고 데이터 구조를 단순화하고 싶은
내 접근 방식은 의사 차원 뷰 (DEPARTMENT 및 LOCATION 테이블을 기반으로 한 'D_LOCATION')와 가상 테이블 뷰 (ENCOUNTER 테이블을 기반으로 한 'F_ENCOUNTER')를 만드는 것입니다. 가상 사실보기에서 키 테이블 (예 : STATUS, PATIENT_CLASS)을 사실 테이블에 가입시켜 이름 필드 (예 : STATUS.NAME, PATIENT_CLASS.NAME)를 포함합니다.질문 :
- 쿼리 F_ENCOUNTER (즉,하지 key-value.name 모든 필드)에서 모든 필드의 하위 집합을 선택하는 경우, 일부를 제외 똑똑 오라클 10g 최적화입니다 키 - 값 테이블 조인 (즉, 쿼리에 포함되지 않은 테이블)?
- 이 아키텍처를 최적화하기 위해 할 수있는 일이 있습니까 (인덱스 제외)
- 다른 접근 방법이 있습니까?(중요한 순서대로)
** 편집 ** 목표 :
- 쿼리 복잡성을 줄일; 쿼리 일관성을 높이십시오. 감소 보고서 개발 시간
- 최적화 쿼리 처리
- 최소화 관리자의 부담
동료는 이것을 '쓰레기'차원이라고합니다. 카디널리티가 낮은 필드의 경우 예약되었습니다. 그것은 확실히 의미가 있습니다. 불행하게도이 클라이언트는 데이터웨어 하우스에 대한 욕구가 없습니다. 이 방법으로 데이터를 비정규 화 한 다음 매일 (매일) 구체화하는 뷰를 만들 수 있다고 가정합니다. 그것을 F_ENCOUNTER_JUNK라고 부르세요. – craig
아니요, 정크 치수는 자체 테이블이 필요없는 여러 가지 아이디어를 결합하는 데 사용됩니다 (자체적으로 키 - 값 테이블이 될 수 있음). 일반적으로 STANDARD_VALUES와 같이 일반적으로 이름이 지정됩니다. 환자 및 위치와 같은 측정 기준은 합법적 인 측정 기준입니다. – Datajam