Data Engineering

[SQLD 자격검정 실전문제] Part 1-2. 45번 고객데이터에 대한 정규화

햣둘 2025. 5. 28. 22:10

정답 : 1번 1차정규화

취미코드, 취미명은 여러 개의 값을 가지고 있음.

엔터티 내의 모든 속성은 반드시 하나의 값만 가져야 한다는 속성의 원자성을 위배하고 있으므로 제1정규화의 대상이 됨. 

[요약 설명]

이 문제는 주어진 데이터에서 정규화를 통해 속성 값을 원자값으로 분해하고 중복된 속성을 제거할 수 있는 능력을 평가함.

특히 제1정규형(1NF)의 조건인 원자값을 만족하지 않는 속성(다중값 속성)을 인식하고 이를 해결하기 위한 정규화 작업을 선택하는 것이 핵심임.

[이론적 내용]

1. 제1정규형 (1NF)

- 모든 속성값이 원자값(Atomic Value)를 가져야 하며, 다중값이나 중첩된 값이 제거되어야 함

- 위 엔터티에서 '취미코드'와 '취미명' 속성에 다중값이 존재하므로 제1정규형을 만족하지 않음

- 이를 해결하기 위해 다중값 속성을 분리하여 새로운 엔터티(ex. 취미 엔터티)를 생성해야 함

 

2. 제2정규형 (2NF)

- 제1정규형을 만족하면서 부분함수 종속을 제거해야 함

- 복합키가 주식별자인 경우, 키의 일부 속성에만 종속하는 속성을 분리하여 정규화를 수행함

 

3. 제3정규형 (3NF)

- 제2정규형을 만족하면서 이행적 함수 종속을 제거해야 함

- 일반 속성들이 주식별자에 직접적으로 종속되지 않고 다른 일반 속성을 통해 간접적으로 종속되는 경우를 해결해야 함

 

4. 제4정규형 (4NF)

- 다치종속(Multi-Valued Dependency)을 제거하는 단계

- 여러 독립적인 다치종속 관계를 하나의 테이블에 포함시키지 않아야 함