데이터베이스 기초
사원 표(사원번호, 이름, 부서코드, 부서명)의 기본 키는 사원번호이며, 모든 열은 하나의 값만 가진다. 함수 종속은 사원번호 → 이름, 사원번호 → 부서코드, 부서코드 → 부서명이다. 이 표의 정규형으로 올바른 것은?
- A제2정규형이지만 제3정규형은 아니다
- B제1정규형이지만 제2정규형은 아니다
- C제3정규형이다
정답과 해설 보기
정답: A. 제2정규형이지만 제3정규형은 아니다
모든 열이 반복 없는 하나의 값을 가지므로 제1정규형입니다. 기본 키가 사원번호 한 열뿐이므로 기본 키의 일부에만 종속하는 부분 함수 종속은 일어날 수 없어 제2정규형이기도 합니다. 그러나 부서명은 사원번호 → 부서코드 → 부서명처럼 기본 키가 아닌 부서코드를 거쳐 정해지는 이행적 함수 종속이므로 제3정규형이 아닙니다. 이대로라면 같은 부서 사원의 행마다 부서명이 반복해서 기록되어, 부서명을 바꿀 때 여러 행을 고쳐 써야 합니다. 부서 표(부서코드, 부서명)를 나누고 사원 표에는 부서코드만 남기면 제3정규형이 됩니다. 이때 사원 표의 부서코드는 부서 표를 참조하는 외래 키가 됩니다.