SQLD데이터 모델과 SQL정규화난이도 2MCQ

SQLD 정규화 기출문제 #12

문제

다음 테이블의 정규화 위반과 해결책으로 가장 적절한 것은?

[수업배정] 교수번호(PK), 과목코드(PK), 강의실, 시간대 ※ (교수번호, 시간대) → 강의실 ※ (강의실, 시간대) → 교수번호

① 2NF 위반 → (교수번호, 과목코드), (강의실, 시간대) 테이블로 분리 ② 3NF 위반 → (교수번호, 과목코드), (교수번호, 강의실, 시간대) 테이블로 분리 ③ BCNF 위반 → (교수번호, 시간대, 강의실), (교수번호, 과목코드) 테이블로 분리 ④ 4NF 위반 → 다치 종속 제거 필요

정답

3

해설

(교수번호, 시간대) → 강의실에서 (교수번호, 시간대)는 후보키가 아닌 결정자입니다. 후보키는 (교수번호, 과목코드)이지만, (교수번호, 시간대)가 강의실을 결정하므로 BCNF를 위반합니다. BCNF는 모든 결정자가 후보키여야 한다는 조건이므로, 이를 해결하기 위해 (교수번호, 시간대, 강의실) 테이블과 (교수번호, 과목코드) 테이블로 분리해야 합니다. ①②는 부분 함수 종속이나 이행적 종속 문제가 아니고, ④다치 종속 관계는 없습니다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] 정규화 데이터 모델과 SQL 기출 #12 | sqldpass