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

SQLD 정규화 기출문제 #232

문제

다음 테이블들이 모두 만족하는 가장 높은 정규형은?

[테이블A] 학번(PK), 과목코드(PK), 성적, 교수코드 ※ (학번, 과목코드) → 성적, 교수코드 ※ 과목코드 → 교수코드

[테이블B] 사원번호(PK), 부서코드, 부서명, 급여 ※ 사원번호 → 부서코드, 급여 ※ 부서코드 → 부서명

[테이블C] 주문번호(PK), 상품코드(PK), 수량, 단가 ※ (주문번호, 상품코드) → 수량 ※ 상품코드 → 단가

① 제1정규형 ② 제2정규형 ③ 제3정규형 ④ BCNF

정답

1

해설

테이블A: 복합키(학번, 과목코드) 중 일부인 과목코드만으로 교수코드가 결정되는 부분 함수 종속이 존재하여 2NF 위반. 테이블B: 단일키(사원번호)이므로 부분 함수 종속은 없어 2NF 만족하나, 부서코드→부서명의 이행적 함수 종속으로 3NF 위반. 테이블C: 복합키(주문번호, 상품코드) 중 일부인 상품코드만으로 단가가 결정되는 부분 함수 종속이 존재하여 2NF 위반. 따라서 테이블A와 C가 모두 2NF를 위반하므로, 세 테이블이 공통으로 만족하는 가장 높은 정규형은 제1정규형입니다.

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

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

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