p.341, 3-63, 3-100
- 하나의 종속성이 하나의 릴레이션에 표현될 수 있도록 분해해가는 과정
- 데이터베이스의 논리적 설계 단계에서 수행
1) 정규화의 목적 ★ __ 20년 3회 기출문제
- 데이터 구조의 안정성 및 무결성을 유지
- 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만듦
- 효과적인 검색 알고리즘 생성 가능
- 데이터 중복을 배제해 이상(Anomaly)의 발생 방지 및 자료 저장 공간의 최소화
- 개체와 속성의 누락 여부 확인 가능
- 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄임
2) 이상(Anomaly)의 개념 및 종류 ★ __ 20년 3회 기출문제
- 정규화를 거치지 않아 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작 시 예기치 못하게 발생하는 곤란한 현상
▶ 삽입 이상(Insertion Anomaly)
릴레이션에 데이터를 삽입할 때 의도와 상관없이 원하지 않은 값들도 함께 삽입되는 현상
▶ 삭제 이상(Deletion Anomaly)
릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 현상
▶ 갱신 이상(Update Anomaly)
릴레이션에서 튜플에 있는 속성 값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상
#삽삭갱
3) 정규화의 원칙
- 정보의 무손실
- 분리의 원칙
- 데이터의 중복성 감소
4) 정규화 과정 ★★ __ 20년 1, 2, 3회 기출문제
정규형 |
설명 |
1NF (제1정규형) |
릴레이션에 속한 모든 도메인(Domain)이 원자 값(Atomic Value)만으로 되어 있는 정규형 |
2NF (제2정규형) |
릴레이션 R이 1NF고, 기본키가 아닌 모든 속성이 기본키에 대해 완전 함수적 종속을 만족하는, 부분적 함수 종속을 제거한 정규형 ★ |
3NF (제3정규형) |
릴레이션 R이 2NF고, 기본키가 아닌 모든 속성이 기본키에 대해 *이행적 함수 종속 관계를 만족하지 않는 정규형 : A → B이고 B → C일 때 A → C를 만족하는 관계(이행 규칙) ★ |
BCNF (Boyce-Codd 정규형) |
릴레이션 R에서 모든 결정자가 후보키인 정규형, 모든 BCNF가 종속성을 보존하는 것은 아님 (강한 제3정규형, 보이스/코드 정규형) |
4NF (제4정규형) |
릴레이션 R에 다치 종속이 성립하는 경우 R의 모든 속성이 A에 함수적 종속 관계를 만족하는 정규형 |
5NF (제5정규형) |
릴레이션 R의 모든 조인 종속이 R의 후보키를 통해서만 성립되는 정규형 |
#원부이결다조
5) 반정규화 개념 ★
- 시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로 의도적으로 정규화 원칙을 위배하는 행위 ★★
- 그러나 데이터의 일관성 및 정합성이 저하될 수 있음
6) 반정규화 방법 __ 20년 1, 2회 기출문제
▶ 테이블 통합: 1:1 관계 | 1:N 관계 | 슈퍼타입/서브타입 {테이블 통합}
▶ 테이블 분할: 수평 분할, 수직 분할 → 기본키의 유일성 관리가 어려워짐
▶ 중복 테이블 추가: 집계 테이블 | 진행 테이블 | 특정 부분만을 포함하는 테이블 {추가}
#집진특 ★
▶ 중복 속성 추가: 자주 사용하는 속성을 하나 더 추가하는 것
'정보처리기사 필기 총정리 > 3과목: 데이터베이스 구축' 카테고리의 다른 글
데이터베이스 저장 공간 설계 ★ (0) | 2020.10.03 |
---|---|
시스템 카탈로그(System Catalog) ★★ (0) | 2020.10.02 |
관계대수 및 관계해석 ★★★ (0) | 2020.10.02 |
무결성(Integrity) ★★ (0) | 2020.10.02 |
키(Key) ★★ (0) | 2020.10.02 |
댓글