2022. 4. 17. 04:00ㆍ정보처리기사 - 필기/제2과목 - 소프트웨어 개발
정규화(Normalization)
- 관계형 데이터베이스에서 정확성을 더욱 유지하기 위해 스키마를 쪼개는 과정
* 스키마 : 데이터베이스내에 어떤 구조로 데이터가 저장되는가를 나타내는 데이터베이스 구조를 말합니다.
목적
- 데이터 구조의 안정성 및 무결성을 유지
- 데이터 중복을 배제하여 이상(Anomaly)의 발생 방지 및 자료 저장 공간의 최소화
- 데이터 모형의 단순화
이상(Anomaly)의 개념 및 종류
- 정규화를 거치지 않은 데이터베이스 내의 데이터들이 사용자의 의도와는 별개로 삭제, 삽입, 갱신되는 현상
정규화 과정
비정규 릴레이션 - 1NF - 2NF - 3NF - BCNF - 4NF - 5NF
1. 비정규 릴레이션 - 1NF : 도메인이 원자값
2. 1NF - 2NF : 1NF를 만족하고 부분적 함수 종속 제거
3. 2NF - 3NF : 2NF를 만족하고 이행적 함수 종속 제거
4. 3NF - BCNF : 3NF를 만족하고 결정자이면서 후보키가 아닌 것 제거
5. BCNF - 4NF : BCNF를 만족하며 다치 종속
6. 4NF - 5NF : 4NF를 만족하며 조인 종속성 이용
반정규화(Denormalization)
- 시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터를 통합, 중복, 분리하는 과정으로 의도적으로 정규화 원칙을 위배하는 행위
- 과도한 반정규화는 데이터의 일관성과 정합성을 저하 시킬 수 있음
* 정합성 : 데이터의 일치, 즉 데이터의 무결성을 의미함
1. 테이블 통합
- 하나의 테이블로 합쳐 사용하는 것이 성능 향상에 도움이 될 경우 수행
- 1:1 관계, 1:N 관계, 슈퍼타입/서브타입
2. 테이블 분할
- 수평 분할, 수직 분할
3. 중복 테이블 추가
- 정규화로 인해 수행 속도가 느려지는 경우
- 많은 범위의 데이터를 자주 처리해야 하는 경우
- 특정 범위 데이터만 자주 처리해야 하는 경우
1) 집계 테이블의 추가
2) 진행 테이블의 추가
3) 특정 부분만을 포함하는 테이블의 추가
4. 중복 속성 추가
- 조인이 자주 발생하는 속성인 경우
- 여러 개의 속성으로 구성된 경우
'정보처리기사 - 필기 > 제2과목 - 소프트웨어 개발' 카테고리의 다른 글
디지털 저작권 관리(DRM) (0) | 2022.04.18 |
---|---|
ISO/IEC 9126 (0) | 2022.04.17 |
트리 (0) | 2022.04.17 |
EAI (0) | 2022.04.16 |
인터페이스 구현 검증도구 (0) | 2022.04.16 |