본문 바로가기
정보처리기사

[데이터베이스 구축] 4. DB정규화

by reve5 2022. 3. 22.

45. 정규화의 필요성으로 거리가 먼 것은?
① 데이터 구조의 안정성 최대화
② 중복 데이터의 활성 화
③ 수정, 삭제 시 이상현상의 최소화
④ 테이블 불일치 위험의 최소화


>> 정답 2번

중복 데이터 최소화




56. 제 3정규형에서 보이스코드 정규형(BCNF)으로 정규화하기 위한 작업은?
① 원자 값이 아닌 도메인을 분해
② 부분 함수 종속 제거
③ 이행 함수 종속 제거
④ 결정자가 후보키가 아닌 함수 종속 제거

>> 정답 4번

 

제 1정규형

릴레이션에 속한 모든 속성의 도메인이 원자값으로 이루어진 경우

제 2정규형
릴레이션이 제 1정규형에 속하고 키본키가 아닌 모든 속성이 기본키에 완전 함수 종속된 경우

 

 

제 3정규형
릴레이션 제 2정규형에 속하고 기본키가 아닌 모든 속성이 기본키에 이행적 함수 종속이 되지 않는다

이행적 함수 종속은 
A > B 
A > C
B > C
인 경우다.

따라서 이를 A > B, B >C로 나눈다.

보이스코드 정규형
릴레이션이 제 3정규형에 속하고 함수 종속 관계에서 모든 결정자가 후보키이면 이에 속한다.

 

1. 제 1 정규형

2. 제 2정규형

3. 제 3정규형

4. 보이스코드 정규형



44. 정규화 과정 중 1NF에서 2NF가 되기 위한 조건은?
① 1NF를 만족하고 모든 도메인이 원자값이어야 한다.
② 1NF를 만족하고, 키가 아닌 모든 애트리뷰트들이 기본키에 이행적으로 함수 종속되지 않아야 한다.
③ 1NF를 만족하고 다치 종속이 제거되어야 한다.
④ 1NF를 만족하고 키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속 관계를 만족해야 한다.

>> 정답 4번

 

1번은 모든 도메인 원자값 > 1정규형에 대한 설명이다.

2.번 제 2정규형 + 이행적 함수 종속이 안됨 : 3 정규형

3번 3정규형 + 다치 종속 제거 : 4정규형

4번 1 정규형 + 완전 함수족 종속 관계 만족 : 2정규형



46. 이행적 함수 종속 관계를 의미하는 것은?
① A→B이고 B→C일 때, A→C를 만족하는 관계
② A→B이고 B→C일 때, C→A를 만족하는 관계
③ A→B이고 B→C일 때, B→A를 만족하는 관계
④ A→B이고 B→C일 때, C→B를 만족하는 관계


>> 정답 1번

 


60. 제3정규형(3NF)에서 BCNF(Boyce-Codd Normal Form)가 되기 위한 조건은?
① 결정자가 후보키가 아닌 함수 종속 제거
② 이행적 함수 종속 제거
③ 부분적 함수 종속 제거
④ 원자값이 아닌 도메인 분해


>> 정답 1번

 

1번 > 후보키 아닌 함수 종속 제거 : 보이스 코드 정규형

2번 > 3정규형

3번 > 2정규형

4번 > 1정규형

59. 데이터 속성 간의 종속성에 대한 엄밀한 고려 없이 잘못 설계된 데이터베이스에서는 데이터 처리 연산 수행 시 각종 이상 현상이 발생할 수 있는데, 이러한 이상 현상이 아닌 것은?
① 검색 이상 ② 삽입 이상
③ 삭제 이상 ④ 갱신이상

>> 정답 1번

 

삽입 > 삽입, 삭제 > 삭제 갱신 > 수정, 검색 > 연산

 



44. 정규화에 대한 설명으로 적절하지 않은 것은?
① 데이터베이스의 개념적 설계 단계 이전에 수행한다.
② 데이터 구조의 안정성을 최대화한다.
③ 중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 방지한다.
④ 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄인다.

>> 정답 1번

 

정규화 논리적 설계 단계에 일어난다.

단계 : 요구사항 > 개념 > 논리 > 물리 > 구현

 

 


45. 이전 단계의 정규형을 만족하면서 후보키를 통하지 않는 조인 종속(JD : Join Dependency) 제거해야 만족하는 정규형은?
① 제3정규형 ② 제4정규형
③ 제5정규형 ④ 제6정규형


>> 정답 3번

 

1 정규 : 모든 도메인 원자값

2 정규 : 부분 함수 제거

3 정규 : 이행 함수 제거

보이스코드 : 후보키 아닌 함수 종속 제거

4 정규 : 다치 함수 제거

5정규 : 조인 종속 제거

 

 



48. 다음 정의에서 말하는 기본 정규형은?

어떤 릴레이션 R에 속한 모든 도메인이 원자값(Atomic Value)만으로 되어 있다.

① 제1 정규형(1NF) ② 제2 정규형(2NF)
③ 제3 정규형(3NF) ④ 보이스/코드 정규형(BCNF)

정답 1번

 

1 정규 : 원자값

2 정규 : 부분 함수 제거

3 정규 : 이행 함수 제거

보이스 코드 : 후보키 아닌 함수 종속 제거

4 정규 : 다치 함수 제거

5 정규 : 조인 종속 제거


55. 3NF에서 BCNF가 되기 위한 조건은?
① 이행적 함수 종속 제거
② 부분적 함수 종속 제거
③ 다치 종속 제거
④ 결정자이면서 후보 키가 아닌 것 제거

정답 4번

 

1번 3정규 : 이행적 함수 제거

2번 2정규 ; 부분 함수 종속 제거

3번 4정규 : 다치 종속 제거

4번 보이스 코드 : 결정자이면서 후보키 아닌 것 제거

1정규 : 원자값

5정규 : 조인 종속 제거



41. 릴레이션 R의 모든 결정자(determinant)가 후보키이면 그 릴레이션 R은 어떤 정규형에 속하는가?
① 제1 정규형
② 제2 정규형
③ 보이스/코드 정규형
④ 제4 정규형

>> 정답 3번

결정자 > 후보키  : 보이스 코드 정규

1정규 원자값

2정규 부분 함수 종속 제거

3정규 이행 함수 제거

4정규 다치 함수 제거

5정규 조인 종속 제거

 


50. 정규화의 목적으로 옳지 않은 것은?
① 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만든다.
② 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄인다.
③ 중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 야기한다.
④ 효과적인 검색 알고리즘을 생성할 수 있다.

>> 정답 3번

이상 최소화가 목표

56. 다음과 같이 위쪽 릴레이션을 아래쪽 릴레이션으로 정규화를 하였을 때 어떤 정규화 작업을 한 것인가?

국가
도시
대한민국
서울, 부산
미국
워싱턴, 뉴욕
중국
베이징

국가
도시
대한민국
서울
대한민국
부산
미국
워싱턴
미국
뉴욕
중국
베이징

① 제1정규형 ② 제2정규형
③ 제3정규형 ④ 제4정규형


정답 1번


https://www.youtube.com/watch?v=3pA9EBVO5J4&list=PLKpxllD6C8Cl_Ih4ZVC4t9MbrIHZ63Hk6&index=4 


정규화
논리데이터 모델링은 상세화 하는 단계
품질 및 성능 향상
이상현상 제거 > 삽입, 갱신, 삭제 이상 제거
품질 및 성능 > 저장 공간 최소화, 무결성 유지 극대화, 안정성 최대화
안정성 >관계의 정확성, 데이터 일치성 모델의 단순성 속성의 비중복성

정규화 단계

1. 1차 정규화
> 반복그룹 제거
> 식별자 추가 식별자 유일성을 해치지 않도록 하자

2. 2차 정규화
> 부분 함수적 종속성 제거
* 부분 함수적 종속성 제거 : 특정 속성에 의하여 다른 속성이 결정되기 될 때 함수적 종속
직원명은 직원코드로 불러온다면 함수적 종속이다
* 결정자 : 스스로 기록된 속성
* 종속자 : 결정자들에 의한 종속자
* 완전함수 종속 : 결정자중 하나라도 없다면 식별이 불가능
* 부분 함수 종속 : 결정자중 하나로 식별 가능

3.3차 정규화
> 이행적 종속성 제거
*이행적 종속 :  A > B > C, C그룹이 A에 간접 종속되어 있다. 
> 제거시, A > B, B > C 그룹으로 각각 다른 개체로 분리

4. 4차 정규화
> 다치 종속 제거
속성이 다른 속성에 다치 종속이 된다.
다치 종속은 없을 순 없으나 둘 이상이 존재하면 문제가 되기 때문에 최소 하나 다치 종속만 존재하도록 개체를 분리한다.

댓글