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

SQLD 정규화 기출문제 #126

문제

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

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

[테이블B] 직원코드(PK), 프로젝트코드(PK), 역할, 참여시간 ※ 함수 종속 관계 없음

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

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

정답

1

해설

각 테이블을 분석하면: 테이블A는 복합키 (학번,과목코드)에서 (학번,과목코드)→교수코드→과목코드의 이행적 함수 종속이 발생하여 3NF를 위반합니다. 또한 교수코드가 후보키가 아닌 결정자이므로 BCNF도 위반합니다. 테이블B는 함수 종속이 없으므로 모든 정규형을 만족합니다. 테이블C는 주문번호→상품코드→상품명,단가의 이행적 함수 종속으로 3NF를 위반하지만, 부분 함수 종속은 없어 2NF는 만족합니다. 테이블A가 이행적 종속으로 인해 2NF까지만 만족하므로, 세 테이블이 공통으로 만족하는 가장 높은 정규형은 2NF입니다.

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

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

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