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

SQLD 데이터 모델과 SQL 기출문제 #1253

문제

다음 테이블에서 위반하는 정규형과 해결 방법으로 가장 적절한 것은?

[주문상세] 주문ID(PK), 상품ID(PK), 수량, 상품명, 카테고리코드 ※ 상품명과 카테고리코드는 상품ID에 의해 결정됨 ※ 상품ID → 상품명, 카테고리코드

① 1NF 위반 → 원자값으로 분해 ② 2NF 위반 → 부분 함수 종속 제거 ③ 3NF 위반 → 이행적 종속 제거 ④ BCNF 위반 → 결정자를 후보키로 변환

정답

2

해설

복합키 (주문ID, 상품ID) 중 일부인 상품ID만으로 상품명과 카테고리코드가 결정되는 부분 함수 종속이 존재합니다. 이는 제2정규형 위반으로, 상품 관련 속성들을 별도 테이블로 분리하여 해결해야 합니다. ①원자값 위반은 없고, ③이행적 종속도 아니며, ④상품ID는 후보키가 될 수 있어 BCNF 위반이 아닙니다.

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

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

[SQLD] 데이터 모델과 SQL 기출 #1253 | sqldpass