요구사항 확인 -> 개념 모델링 -> 논리 모델링 -> 물리 모델링 -> 데이터베이스 구축
(개발 범위 파악) (업무 중심 분석) (개발 환경 고려)
1. 데이터 모델링 - 엔티티와 관계를 중심으로 명확하고 체계적으로 표현해 문서화하는 기법
- 정보 요구에 대한 정확한 이해
- 효율적인 의사소통 수단
- 고품질 S/W와 유지보수 비용 감소
- 업무 흐름 파악, 무결성 보장, 중복 제거로 일관성 있는 정보 제공
2. 논리 모델링 - 엔티티와 속성들의 관계를 구조적으로 정의하는 단계 (E-R 다이어그램)
- 엔티티 : 관리할 대상이 되는 실체 (회원)
- 속성 : 관리할 정보의 구체적 항목 (이름, 전화번호, 주소)
- 관계 : 엔티티간의 대응관계
특성 - 정규화, 포용성, 완전성, 독립성
- 정규화 : 모든 데이터를 정규화해 모델링
- 포용성 : 모든 엔티티타입, 속성, 관계, 프로세스 등 포함
- 완전성 : 모든 규칙, 관계를 완전하고 정확하게 표현
- 독립성 : 특정 DBMS에 대해 독립적
정규화 - 중복을 최소화해 데이터를 구조화하고 정보의 일관성을 보장하기 위한 과정
- 이상현상 - 삽입이상, 삭제이상, 갱신이상
- 삽입이상 : 정보 저장 시 불필요한 세부정보가 필요한 경우
- 삭제이상 : 정보 삭제 시 원치 않는 다른 정보도 삭제되는 경우
- 갱신이상 : 중복 데이터 중 특정 부분만 수정되어 모순을 일으키는 경우
정규화 수준이 높으면 - 유연한 데이터 구축 가능, 데이터 정확성 높아짐, 물리적 접근 복잡, 과도한 조인 발생
- 1NF - 원자값 구성 (하나의 값만 가짐)
- 2NF - 부분 함수 종속 제거 (테이블 속성 중 A,B->C에, B->D에 영향을 주는 관계를 A,B,C / B,D로 나눔)
- 3NF - 이행함수 종속 제거 (테이블 속성 중 A->B, B->C에 영향을 주는 관계에서 A가 C에 직접적인 영향을 끼치지 않는 관계라면 A,B / B,C로 나눔)
- BCNF - 결정자 함수이면서 후보키가 아닌 것 제거 (테이블 속성 중 A,B -> C에, B->C에 영향을 주는 관계에서 C가 후보키가 아닐 때 A,B / B,C로 나눔)
- 4NF - 다중 값 종속성 제거 (테이블 속성 중 A가 여러개의 B, 여러개의 C를 가지는 경우에 A,B / A,C로 나눔)
- 5NF - 조인 종속성 제거 (4NF를 조인 연산했을 때 기존과 다른 데이터가 보일 경우 B와 C의 관계를 지정해 원래 데이터로 보이게끔 수정)
* 요구사항과 데이터 흐름이 누락되지 않았는지, 모델링 표준 준수도, 정규화 여부 등 확인 필요
'정보처리기사' 카테고리의 다른 글
정보처리기사 실기 - 데이터 입출력 구현 (3) (0) | 2022.01.14 |
---|---|
정보처리기사 실기 - 데이터 입출력 구현 (2) (0) | 2022.01.13 |
정보처리기사 실기 - 요구사항 확인 (3) (1) | 2022.01.11 |
정보처리기사 실기 - 요구사항 확인 (2) (0) | 2022.01.10 |
정보처리기사 실기 - 요구사항 확인 (1) (0) | 2022.01.09 |