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)을 제거하는 단계
- 여러 독립적인 다치종속 관계를 하나의 테이블에 포함시키지 않아야 함