본문 바로가기
Data Engineering

[SQLD 자격검정 실전문제] Part 1-2. 36번 정규화와 분리된 스키마 구조

by 햣둘 2025. 5. 27.

정답 : 3번 2차 정규화: 정규화 테이블 {관서번호, 관리점번호, 관서명, 상태, 관서등록일자}

아래 엔터티에 필요한 정규화와 분리된 스키마 구조로 가장 적절한 것을 물어보는 문제.

 

함수 종속성 (FD):

{관서번호, 납부자번호} -> {직급명, 통신번호}

(관서번호) -> {관리점번호, 관서명, 상태, 관서등록일자}

 

[요약 설명]

이 문제는 함수 종속성을 기반으로 정규화 과정을 이해하고, 올바른 스키마 구조로 분리하는 능력을 평가함.

특히 2차 정규화와 3차 정규화의 개념을 바탕으로 중복 데이터와 종속성을 최소화하는 최적의 테이블 구조를 설계할 수 있는지를 묻고 있음.

 

[이론적 내용]

1. 제2정규형(2NF)

- 제1정규형을 만족하면서 부분함수 종속을 제거한 상태

- 주식별자가 복합키인 경우, 키의 일부 속성에만 종속하는 속성이 존재하면 부분함수 종속이 발생함

- 이를 제거하기 위해 테이블을 분리함

 

2. 제3정규형(3NF)

- 제2정규형을 만족하면서 이행적함수 종속이 없는 상태

- 한 속성이 다른 속성을 통해 간접적으로 의존하는 경우 이행적함수 종속이 발생하므로 이를 제거하여 테이블을 분리함

 

3. 정규화 과정

- 주식별자 {관서번호, 납부자번호}가 복합키로 설정된 경우, '관서번호'만으로 결정되는 속성들을 분리하여 2차 정규화를 수행해야 함

- 이후 이행적함수 종속이 존재할 경우, 이를 추가로 분리하여 3차 정규화 상태로 만듦