문제
다음 릴레이션에서 BCNF(Boyce-Codd Normal Form) 위반을 판단하는 고급 문제이다.
강의실배정(학생번호, 과목명, 강의실, 시간대) 함수 종속성:
- (학생번호, 과목명) → 강의실
- (강의실, 시간대) → 과목명
- (학생번호, 과목명) → 시간대
후보키는 (학생번호, 과목명, 시간대)와 (학생번호, 강의실, 시간대)이다.
① BCNF를 만족한다 ② (강의실, 시간대) → 과목명이 BCNF를 위반한다 ③ (학생번호, 과목명) → 강의실이 BCNF를 위반한다 ④ 모든 함수 종속성이 BCNF를 위반한다
정답
2번
해설
BCNF는 모든 함수 종속성 X→Y에서 X가 슈퍼키여야 한다. (강의실, 시간대)는 어떤 후보키에도 포함되지 않는 속성들의 조합이므로 슈퍼키가 아닌데, 과목명을 결정하고 있어 BCNF를 위반한다. 다른 함수 종속성들의 결정자는 모두 후보키의 일부이거나 슈퍼키이다.