1. 정규화(Normalization)
- 정규화란 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어 가는 과정이다.
- 정규화된 데이터 모델은 일관성, 정확성, 단순성, 비중복성, 안정성 등을 보장한다.
2. 정규화 목적
- 데이터 구조의 안정성 및 무결성을 유지한다.
- 효과적인 검색 알고리즘을 생성할 수 있다. 따라서 자료 검색과 추출의 효율성을 높인다.
- 데이터 중복을 배제하여 이상(Anomaly)의 발생 방지 및 자료 저장 공간의 최소화가 가능하다.
- 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄인다.
- 데이터 모형의 단순화가 가능하다.
3. 이상(Anomaly)의 개념 및 종류
- 정규화를 거치지 않은 데이터베이스 내의 데이터들이 불필요하게 중복돼 릴레이션 조작 시 예상치 못한 문제가 발생하는데 이를 이상(Anomaly)이라고 한다. 이상의 종류에는 삽입 이상, 삭제 이상, 갱신 이상이 있다.
- 삽입 이상(Insertion Anomaly): 릴레이션에 데이터를 삽입할 때 의도와는 상관없는 값들도 함께 삽입되는 현상이다.
- 삭제 이상(Deletion Anomaly): 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들이 삭제되는 연쇄가 일어나는 현상이다.
- 갱신 이상(Update Anomaly): 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되며 정보에 모순이 생기는 현상이다.
4. 정규화 과정
비정규 릴레이션 | |
↓ | 도메인이 원자값 |
1NF | |
↓ | 1NF를 만족하며 부분적 함수 종속 제거 |
2NF | |
↓ | 2NF를 만족하며 이행적 함수 종속 제거 |
3NF | |
↓ | 3NF를 만족하며 결정자이면서 후보키가 아닌 것 제거 |
BCNF | |
↓ | BCNF를 만족하며 다치 종속 |
4NF | |
↓ | 4NF를 만족하며 조인 종속성 이용 |
5NF |
▶ 도부이결다조 (두부이걸다줘)
정보처리기사 필기 기출문제
44. 정규화 과정 중 1NF에서 2NF가 되기 위한 조건은? ④ [정답률: 22%] 정보처리기사(2020년 이후) 필기 (2020년 1회·2회 통합 기출문제) |
|
① 1NF를 만족하고 모든 도메인이 원자값이어야 한다. | |
② 1NF를 만족하고, 키가 아닌 모든 애트리뷰트들이 기본키에 이행적으로 함수 종속되지 않아야 한다. | |
③ 1NF를 만족하고 다치 종속이 제거되어야 한다. | |
④ 1NF를 만족하고 키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속 관계를 만족해야 한다. | 완전 함수적 종속 관계 -> 부분적 함수 종속 제거 |
46. 이행적 함수 종속 관계를 의미하는 것은? ① [정답률: 83%] 정보처리기사(2020년 이후) 필기 (2020년 1회·2회 통합 기출문제) |
|
① A→B이고 B→C일 때, A→C를 만족하는 관계 | A->B, B->C, A->C를 만족하면 이행적 함수 종속 관계이다. |
② A→B이고 B→C일 때, C→A를 만족하는 관계 | |
③ A→B이고 B→C일 때, B→A를 만족하는 관계 | |
④ A→B이고 B→C일 때, C→B를 만족하는 관계 |
41. 릴레이션 R의 모든 결정자(determinant)가 후보키이면 그 릴레이션 R은 어떤 정규형에 속하는가? ③ [정답률: 63%] 정보처리기사(2020년 이후) 필기 (2020년 3회 기출문제) |
|
① 제1 정규형 | |
② 제2 정규형 | |
③ 보이스/코드 정규형 | 도 부 이 결 다 조 1, 2, 3, BCNF, 4, 5 |
④ 제4 정규형 |
50. 정규화의 목적으로 옳지 않은 것은? ③ [정답률: 68%] 정보처리기사(2020년 이후) 필기 (2020년 3회 기출문제) |
|
① 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만든다. | |
② 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄인다. | |
③ 중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 야기한다. | 데이터의 중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 방지한다. |
④ 효과적인 검색 알고리즘을 생성할 수 있다. |
51. 다음에 해당하는 함수 종속의 추론 규칙은? ② [정답률: 40%] 정보처리기사(2020년 이후) 필기 (2020년 3회 기출문제) |
|
X -> Y이고 Y -> Z이면 X -> Z이다. | |
① 분해 규칙 | |
② 이행 규칙 | A->B, B->C, A->C를 만족하면 이행적 함수 종속 관계이다. |
③ 반사 규칙 | |
④ 결합 규칙 |
56. 다음과 같이 위쪽 릴레이션을 아래쪽 릴레이션으로 정규화를 하였을 때 어떤 정규화 작업을 한 것인가? ① [정답률: 33%] 정보처리기사(2020년 이후) 필기 (2020년 3회 기출문제) |
|
① 제1정규형 | 릴레이션에 속한 모든 도메인이 원자값만을 가지게 됐으므로 제1정규형(1NF)이다. |
② 제2정규형 | |
③ 제3정규형 | |
④ 제4정규형 |
59. 릴레이션 조작 시 데이터들이 불필요하게 중복되어 예기치 않게 발생하는 곤란한 현상을 의미하는 것은? ④ [정답률: 30%] 정보처리기사(2020년 이후) 필기 (2020년 3회 기출문제) |
|
① normalization | |
② rollback | |
③ cardinality | |
④ anomaly | 데이터들이 불필요하게 중복으로 곤란한 형상 발생 -> 이상(Anomaly) |
43. 정규화된 엔티티, 속성, 관계를 시스템의 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법은? ② [정답률: 27%] 정보처리기사(2020년 이후) 필기 (2020년 4회 기출문제) |
|
① 인덱스정규화 | |
② 반정규화 | 본문에서 다루지는 않았지만 문제에서 정규화된 것을 단순화를 위해 분리하는 내용 -> 반정규화로 추론가능 |
③ 집단화 | |
④ 머징 |
45. 정규화의 필요성으로 거리가 먼 것은? ② [정답률: 29%] 정보처리기사(2020년 이후) 필기 (2020년 4회 기출문제) |
|
① 데이터 구조의 안정성 최대화 | |
② 중복 데이터의 활성 화 | 정규화는 중복 데이터를 배제하기 위한 작업이다. |
③ 수정, 삭제 시 이상현상의 최소화 | |
④ 테이블 불일치 위험의 최소화 |
56. 제 3정규형에서 보이스코드 정규형(BCNF)으로 정규화하기 위한 작업은? ④ [정답률: 81%] 정보처리기사(2020년 이후) 필기 (2020년 4회 기출문제) |
|
① 원자 값이 아닌 도메인을 분해 | |
② 부분 함수 종속 제거 | |
③ 이행 함수 종속 제거 | |
④ 결정자가 후보키가 아닌 함수 종속 제거 | 도 부 이 결 다 조 1, 2, 3, BCNF, 4, 5 |