문제
다음 테이블에서 제2정규형(2NF) 위반 사례를 찾아내는 문제이다. 어떤 함수 종속성이 2NF 위반의 원인이 되는가?
수강(학번, 과목코드, 교수명, 학과명, 성적) 기본키: (학번, 과목코드) 함수 종속성:
- 학번 → 학과명
- 과목코드 → 교수명
- (학번, 과목코드) → 성적
① 학번 → 학과명만 2NF를 위반한다 ② 과목코드 → 교수명만 2NF를 위반한다 ③ 학번 → 학과명과 과목코드 → 교수명 모두 2NF를 위반한다 ④ 모든 함수 종속성이 2NF를 만족한다
정답
3번
해설
2NF는 1NF이면서 기본키의 일부에만 종속되는 비주요 속성이 없어야 한다. 복합키 (학번, 과목코드)에서 '학과명'은 학번에만, '교수명'은 과목코드에만 종속되므로 부분 함수 종속이 발생하여 2NF를 위반한다. 성적만이 전체 기본키에 종속된다.