Data Engineering

[SQLD 자격검정 실전문제] Part 1-2. 35번 정규형 선택하기

햣둘 2025. 5. 27. 23:30

정답 : 2번 제2정규형

주식별자가 (주문번호, 상품번호)일 때 이것이 상품명을 정하는 상황.

하지만 상품번호 또한 -> 상품명을 결정함.

따라서 이는 부분함수 종속에 해당함. 

부분함수 종속을 해결하기 위해 제 2 정규화를 시켜야 하므로 

현재 상태는 제2정규형을 만족하지 않는 엔터티임.

 

[요약 설명]

이 문제는 관계형 데이터베이스의 정규화를 이해하고, 주식별자와 속성 간의 함수 종속성을 기반으로 정규형을 판단할 수 있는 능력을 평가함. 특히 제1정규형, 제2정규형, 제3정규형, 제4정규형에 대한 개념과 차이점을 구분하는 것이 핵심임.

 

[이론적 내용]

1. 제1정규형(1NF)

- 모든 속성이 원자값(더이상 분해할 수 없는 값)만을 가져야 함

- 속성에 중복된 그룹속성이나 다중값이 존재하면 제1정규형을 만족하지 않음

 

2. 제2정규형(2NF)

- 제1정규형을 만족하면서, 부분함수 종속이 존재하지 않아야 함

- 복합 키가 주식별자인 경우, 일부 속성이 키의 일부에만 종속하면 부분함수 종속이 발생하여 제2정규형을 위반하게 됨

 

3. 제3정규형(3NF)

- 제2정규형을 만족하면서, 이행적 함수 종속이 존재하지 않아야 함

- 한 속성이 다른 속성을 통해 간접적으로 의존하는 경우 제3정규형을 위반하게 됨

 

4. 제4정규형(4NF)

- 다치 종속(MVD, Multi-Valued Dependency)을 제거해야 함

- 하나의 속성이 두 개 이상의 독립적인 다치 종속 관계를 가지면 제4정규형을 위반하게 됨