1. 논리 데이터저장소 확인하기
1-1. 논리 데이터모델 검증
1) 일반적인 시스템 개발 절차
- 시스템 개발 절차
- 개념 모델링
- 업무 중심의 분석(논리 데이터 모델링, 분석 모델링)
- 환경을 고려한 설계(물리 데이터 모델링, 설계 모델링)
- 개발(데이터베이스 구축, 애플리케이션 개발)
2) 데이터 모델링 개요
(1) 데이터 모델링 정의
기업의 정보 구조를 실체(Entity)와 관계(Relation)를 중심으로
명확하고 체계적으로 표현하여 문서화하는 기법
(2) 데이터 모델링 목적
- 연관 조직의 정보요구에 대한 정확한 이해를 할 수 있다.
- 사용자, 설계자, 개발자 간에 효율적인 의사소통 수단을 제공한다.
- 데이터 체계 구축을 통한 고품질 S/W와 유지보수 비용의 감소효과를 기대할 수 있다.
- 신규 또는 개선 시스템의 개발 기초를 제공한다.
(3) 데이터 모델링 특성
- 데이터 중심 분석을 통한 업무 흐름 파악이 용이하다.
- 데이터 무결성을 보장할 수 있다.
- 데이터의 공유를 통한 중복을 제거하고 일관성 있는 정보를 제공받을 수 있다.
3) 데이터 모델링 절차
(1) 개념 데이터 모델링
전사의 정보요건을 표현한 상위수준의 모델
- 주요 엔터티타입, 기본 속성, 관계, 주요 업무기능 등을 포함한다.
- 모든 업무 영역을 포함하고, 주제 영역에 포함되는 중심 엔터티타입 간의 관계를 파악하여 주요 업무 규칙을 정의한다.
- 논리 데이터 모델의 기초가 된다.
(2) 논리 데이터 모델링
개념모델로부터 업무영역의 업무 데이터 및 규칙을 구체적으로 표현한 모델
- 모든 업무용 엔터티타입, 속성, 관계, 프로세스 등을 포함한다.
- 모든 업무 데이터를 정규화(Normalization) 하여 모델링한다.
- 모든 업무 규칙과 관계를 완전하고 정확하게 표현한다.
- 성능 혹은 기타 제약 사항과는 독립적인 모델로서, 특정 DBMS로부터 독립적이라 할 수 있다.
(3) 물리 데이터 모델링
설계단계에서 시스템의 설계적 및 정보 요건을 정확하고 완전하게 표현한 모델
- 데이터베이스 생성을 위한 물리 구조로 변환한다.
- 시스템 설계 요건 반영을 위한 설계용 엔터티 타입, 설계용 속성 오브젝트를 추가한다.
- 설계와 성능을 고려한 조정을 수행한다.
- 적용 DBMS에 적합한 성능조정을 수행한다.
4) 논리 데이터 모델링 개요
(1) 논리 데이터 모델링 정의
데이터 구조에 대한 논리적 정의단계
→ 데이터베이스 개발 과정의 첫 단계로 전략수립 및 분석 단계에서 실시
- 엔터티: 관리할 대상이 되는 실체
- 속성: 관리할 정보의 구체적 항목
- 관계: 엔터티간의 대응관계
(2) 논리 데이터 모델링 특성
- 논리적 데이터 모델링 시 요구사항을 충분히 수집하지 않으면 다음 단계의 요구사항 변경에 따른 많은 비용이 발생
- 모든 이해당사자들과 의사소통의 보조자료로서 E-R 모델을 활용
- 논리적 모델은 H/W나 S/W에 독립적
(3) 정규화(Normalization)
① 정의
중복성을 최소화하고 정보의 일관성을 보장하기 위한 개념
② 목적
- 데이터 중복 배제로 데이터 관리 편의성 제고 및 자료 저장 공간의 최소화
- 데이터 모형 단순화
- 데이터 구조의 안정성 및 무결성 유지
- 속성의 배열상태 검증
- 엔터티와 속성의 누락 여부 검증 수단
- 자료검색과 추출의 효율성을 추구
③ 특징
- 관계구조에 관한 구체적인 판단기준을 제공
- 정규화된 데이터 모델은 정확성, 일치성, 단순성, 비중복성, 안정성 보장
④ 유형
제1정규화
1) 반복되는 속성이나 Group 속성 제거
2) 새로운 실체와 1:N의 관계 추가
3) 모든 속성은 반드시 하나의 값을 가져야 함(반복형태가 있어서는 안됨)
제2정규화
1) 주식별자에 완전하게 종속되지 않는 속성 제거
2) 불완전 함수적 종속(Non Fully Dependency) 제거
3) 모든 속성은 반드시 UID전부에 종속되어야 함(UID일부에만 종속되어서는 안됨)
제3정규화
1) 비식별자에 종속되는 속성 제거
2) 주식별자에 이행종속(Transitive Dependency) 되는 속성 제거
3) UID가 아닌 모든 속성 간에는 서로 종속될 수 없음(속성간 종속성 배제)
제4정규화
1) 실제로 거의 고려되지 않는 정규화
2) 주식별자에 다가종속(Multi-Valued Dependency)되는 속성을 두가지 이상 두지않음
3) 2차 정규화된 테이블은 다대다 관계를 가질 수 없음
4) 관계구조에 관한 구체적인 판단기준을 제공
⑤ 정규화 수준에 따른 장단점
정규화 수준이 높을수록,
- 장점
1) 유연한 데이터 구축이 가능
2) 데이터의 정확성 높아짐
- 단점
1) 물리적 접근이 복잡
2) 길이가 짧은 데이터 생성으로 과도한 조인 발생
4) 모델 작성 기법
- 엔터티들은 정렬하여 배열한다.
- 업무흐름의 진행 순서와 관련된 엔터티는 진행순서를 고려하여 좌에서 우, 상에서 하로 중심부에 배열한다.
- 중심에 배열된 엔터티와 관계를 가진 엔터티를 가까이 배열한다.
- 관계는 사선이 아닌 수직, 수평선을 사용한다.
- 공간을 활용하여 복잡해 보이지 않도록 배열한다.
- 교차선이 생기거나 관계선이 너무 길지 않도록 배열한다.
- 관계있는 엔터티끼리 그룹핑한다.
참고자료 : https://www.ncs.go.kr