[데이터 아키텍처] DA 구축 예제 | 6. 현행 모델 문제점 분석
< 목차 >
2. 현행 DB 준비 - 파일 업로드 (feat. 파이썬)
6. 현행 모델 문제점 분석
데이터 모델의 분석은 데이터 모델의 구성 요소 즉, 엔터티, 엔터티 관계 및 속성의 순서로 작성자의 의도를 파악하고 해당 구성 요소의 적절성을 분석한다. 데이터 모델의 분석은 데이터 모델링의 방법의 반대의 시각에서 점검한다.
데이터 모델 분석 기준을 참조하여 현행 데이터 모델을 분석한다.
데이터 모델 분석 기준에 따라 본 연재에서의 현행 모델의 문제점은 3가지 정도로 요약된다. 이에 따른 개선 방안도 기술한다.
첫째, 배타관계가 다수 존재한다.
병원정보서비스와 약국정보서비스 엔터티가 분할되어 있어 자식 엔터티와 배타 관계가 형성된다. 따라서, 병원정보서비스와 약국정보서비스 엔터티를 통합한다.
병원정보서비스 및 약국정보서비스의 컬럼을 비교 분석한 결과 약국정보서비스 엔터티의 속성은 병원정보서비스 엔터티의 속성에 모두 포함되므로 통합에는 어려움이 없다.
해당 엔터티의 속성 비교 결과는 아래와 같다.
둘째, 1:1 관계가 존재한다.
병원(약국)정보서비스 엔터티와 의료기관시설정보 및 의료기관세부정보 엔터티는 1:1 관계이다. 병원(약국)정보서비스 엔터티에 1:1 관계 엔터티의 통합을 검토한다.
1:1 관계 대상 테이블에서 의료기관시설정보는 병원(약국)정보서비스 엔터티와 100%의 데이터가 존재하고 의료기관세부정보 엔터티는 21% 정도의 데이터가 존재한다.
따라서, 의료기관시설정보 엔터티는 병원(약국)정보서비스 엔터티에 통합하고 의료기관세부정보 엔터티는 검토한다.
병원(약국)정보서비스와 의료기관시설정보 엔터티의 컬럼을 비교하면 아래와 같다.
병원(약국)정보서비스와 의료기관시설정보 엔터티의 컬럼을 비교한 결과 3가지의 형태로 구분되고 이에 따른 이행 시 처리 방안은 다음과 같다.
형태 | 내용 | 이행 시 처리방안 |
① | 부모와 자식간의 데이터 중복 | ● 병원(약국)정보서비스 엔터티 기준으로 이행 ● 시설정보 엔터티의 값은 무시 |
② | 약국정보서비스 엔티티에 없는 속성이 시설정보 엔터티에 존재 | ● 시설정보 엔터티의 값으로 이행 |
③ | 자식 엔터티에만 속성 존재 | ● 시설정보 엔터티의 값으로 이행 |
의료기관세부정보 엔터티는 추가적으로 검토하기 위하여 컬럼별 NULL 개수 현황을 조사하면 아래와 같다.
컬럼 분포를 선행해서 수집하면 신속하게 문제점 분석을 수행할 수 있다. 컬럼 분포 수집 포스트를 참고하기 바랍니다.
의료기관세부정보 엔터티는 병원(약국)정보서비스 엔터티의 부가적인 정보로써 업무적인 밀접도가 상대적으로 떨어진다.
따라서, 의료기관세부정보 엔터티는 1:1 관계로 별도의 엔터티를 유지하는 것으로 한다. 추후 밀접도가 높다고 판단되면 즉, 두 테이블을 조인해서 보이는 화면이 많다면 통합을 검토한다. 또는 일부 컬럼만 통합을 검토한다.
셋째, 정규화 위배 건이 존재한다.
제1정규화 위배인 반복그룹(Repeating Group) 속성이 존재하므로 반복그룹을 별도의 엔터티로 분할한다.
제2 정규형 위배인 모든 속성은 반드시 기본키 전부에 종속되어야 한다. 즉, 부분 함수적 종속 속성을 제거한다.
제3 정규형 위배인 기본키가 아닌 속성 간에 종속성을 가지므로 속성 간의 종속성을 배제한다.
추가적으로, 중복 속성이 존재한다. 목표 논리 데이터 모델링 시 해당 속성을 제거한다.
'데이터 아키텍처' 카테고리의 다른 글
[데이터 아키텍처] 8. 목표 논리 데이터 모델링 | DA 구축 예제 (0) | 2024.05.28 |
---|---|
[데이터 아키텍처] 7. 목표 개념 데이터 모델링 | DA 구축 예제 (0) | 2024.05.23 |
[데이터 아키텍처] DA 구축 예제 | 5. 현행 개념 데이터 모델링 (0) | 2024.05.21 |
[데이터 아키텍처] DA 구축 예제 | 4. 현행 논리 데이터 모델링 (1) | 2024.05.19 |
[데이터 아키텍처] DA 구축 예제 | 3. 리버스 모델링 (0) | 2024.05.16 |